linux自带mysql
linux服务器mysql数据库配置
mysql最流行的关系型数据库之一,目前隶属于oracle公司,因体积小、速度快、总体拥有成本低,开放源代码这一特点,所以是我们日常开发的首选。
工具/原料
mysql5.6
cnetos
方法/步骤
查找以前是否安装有mysql,使用下面命令:
rpm -qa|grep -i mysql
如果显示有如下包则说明已安装mysql
mysql-4.1.12-3.RHEL4.1
mysqlclient10-3.23.58-4.RHEL4.1
如果已安装,则需要删除已安装的数据库,使用以下命令来删除数据库
删除命令:rpm -e --nodeps 包名
( rpm -ev mysql-4.1.12-3.RHEL4.1 )
删除老版本mysql的开发头文件和库
命令:rm -fr /usr/lib/mysql
rm -fr /usr/include/mysql
注意:卸载后/var/lib/mysql中的数据及/etc/my.cnf不会删除,如果确定没用后就手工删除
rm -f /etc/my.cnf
rm -fr /var/lib/mysql
下载mysql的rpm包
可以通过wget下载具体的地址因为不能用链接请大家去官网去找
(1)MySQL-server-5.6.10-1.rhel5.x86_64.rpm:MySQL服务器;
(2)MySQL-client-5.6.10-1.rhel5.x86_64.rpm:MySQL客户端;
(3)MySQL-devel-5.6.10-1.rhel5.x86_64.rpm:Mysql开发依赖包。
下载后放到Liunx服务器中,如图所示
安装MySQL Server的rpm包
rpm -ivh MySQL-server-5.6.21-1.linux_glibc2.5.x86_64.rpm
安装过程如图所示
安装完成后会生成root用户的随机密码,请使用“cat /root/.mysql_secret”或类似命令进行查看。
安装MySQL客户端
rpm -ivh MySQL-client-5.6.21-1.linux_glibc2.5.x86_64.rpm
安装MySQL开发依赖包
rpm -ivh MySQL-devel-5.6.21-1.linux_glibc2.5.x86_64.rpm
启动msyql
安装完成后mysql是没有启动的,运行mysql命令会提示如下错误:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
可使用如下命令启动MySQL:
service mysql start
或者使用如下命令:
/etc/init.d/mysql start
可使用SET PASSWORD命令修改root用户的密码,参考如下:SET PASSWORD = PASSWORD('root123456');
B. 为什么安装了Linux自带的mysql中没有mysqld
因为这2个是独立的。你需要安装mysql-server才可以。
C. 《从0到1 最详细MySQL安装流程(Linux环境)
查看服务器是否有自带的MySQL,如果有可以直接使用,如果自带的版本比较低,可以删除然后安装自己想要的版本 (在安装新版本MySQL之前,需要卸载服务器自带的MySQL包和MySQL数据库分支mariadb的包)
1、rpm -qa|grep mysql -- 查询服务器是否有mysql,如有,则执行下面的语句进行删除
2、rpm -qa |grep mariadb -- 查询服务器是否有mariadb,有则执行第三步进行删除
3、rpm -e --nodeps 要删除的文件名( nodeps表示强制删除 )
小贴士1: 如果使用rz命令时提示找不到命令,直接执行: yum -y install lrzsz 则可以在线下载。
命令: rz 或者rz -be
格式: rz -be 选择需要上传的文件
批量或者单个上传文件,通过ZMODEM协议,除此之外,还可以通过ftp或者sftp进行上传
按照下面的命令顺序执行,文件名修改成你压缩后的文件名称即可
启动命令: systemctl start mysql
报错信息: Job for mysqld.service failed because the control process exited with error code. See "systemctl status mysqld.service" and "journalctl -xe" for details.
根据报错信息执行 : systemctl status mysqld.service" 或者 "journalctl -xe"命令查看报错详情,发现报错信息中存在: Data Dictionary upgrade from MySQL 5.7 in progress 。
说明是因为新版本和之前服务器自带的版本对应的包存在冲突,删除对应的冲突目录即可,执行: rm -rf /var/lib/mysql/*(执行删除命令的时候要看清楚哦)
systemctl start mysql -- 启动服务器
第一次成功启动MySQL会被设置默认一个密码,通过以下命令查看并进行登录。
1、查看第一次启动的临时密码 :grep password /var/log/mysqld.log
2、连接到服务器 : mysql -u root -p 回车,然后输出密码
3、第一次连接会强制你必须修改连接密码 ,可以使用以下的语句进行修改密码:
ALTER USER root@localhost IDENTIFIED WITH caching_sha2_password BY ' (MySQL8.x适合使用这个语句)
UPDATE USER SET PASSWORD=PASSWORD('你的密码') WHERE USER='root' (MySQL5.x版本的修改)
D. linux下安装Mysql必须要新建叫mysql的用户组和用户吗
编译不需要,但是安装需要。
之所以安装的脚本不自动给你创建好用户跟用户组,是因为每个 Linux 发行版创建用户的方法都不同(其实只是略有不同,但完全兼容很困难)。
如果你使用发行版自带的 mysql,那么发行版的安装包已经把这些工作做了,所以直接使用发行版自带的 mysql 会自动帮你创建相关用户跟用户组。
如果你自行编译 mysql,从 mysql 源代码开发者的角度不可能主动去做所有发行版的适配,所以只能让你自己去创建用户跟用户组。
Mysql —— C语言链接mysql数据库,用户 角色 权限 用户组(新增了用户组)
chengelog:
1、新增 添加用户组模块;
2、新增 显示用户组模块;
3、修改 新增用户模块 选择 其所属用户组 并把用户id与用户组id 写入用户用户组关系表;
4、新增 修改用户以及删除用户组模块(有用户属于该用户组 用户组名字不允许更改 用户组不允许删除);
5、新增 增加用户、用户组时候,若要增加的用户名已存在(给出用户存在的提示信息);
6、修改了 显示的界面问题;
7、修改部分switch case 输入为字符;
8、修改部分 操作完成后 有两次回车 确认的问题;
遗留的问题:
1、switch case 输入为字符,应该改为case a:bresk; case b:break;…… 否则输入的1与10是一样的执行结果;
字符中只有数字0-9;
2、在remark字段中 scanf()函数是不允许输入空格的。
E. linux哪些版本自带mysql数据库
redhat5这个版本的自带有mysql,但需要你挂载(挂载命令:mount /dev/cdrom /mnt/cdrom)一下,才能安装使用,第1步:在/mnt目录下新建一个空目录cdrom(mkdir /mnt/cdrom),然后执行挂载命令:mount /dev/cdrom /mnt/cdrom,在/mnt/cdrom/Server目录下安装mysql,rpm -ivh 数据库的包名(可能需要你安装依赖包,都在该目录下,用命令:ll | grep 依赖包名),启动mysqld服务就行了。