由于CentOS7 版本将MySQL数据库软件从默认的程序列表中移除,用MariaDB代替了,MariaDB数据库管理系统是MySQL的一个分支,会与要安装的MySQL产生冲突!
1、检查系统是否装有MariaDB数据库("|"是管道符,前一个命令的输出作为下一个命令的输入)
rpm -qa | grep mariadb
这里返回mariadb,说明已安装
2、删除mariadb数据库
rpm -e --nodeps mariadb-libs-5.5.65-1.el7_5.x86_64
3、从yum库中下载并安装wget下载器(注:-y是对安装出现的所有询问回复y,避免下载中途多次输入yes)
yum install -y wget
4、下载mysql的repo源
wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm
5、安装mysql-community-release-el7-5.noarch.rpm包
rpm -ivh mysql-community-release-el7-5.noarch.rpm
yum install -y mysql-server
7、把/var/lib/mysql的拥有者改为当前用户(root),避免因为/var/lib/mysql访问权限不足无法登录(chown -R 递归更改文件所有者)
chown -R root:root /var/lib/mysql
8、重启服务
service mysqld restart
9、登录(设置用户和密码)
mysql -u root -p
注:Enter后会要求输入密码,不用输入密码直接Enter(还没有密码)
9.1 使用mysql
use mysql
9.2 新建用户root,并且只允许该用户在本地(localhost)登录,密码是123456,并且赋予它对数据库中所有表select,update,insert的权限
update user set password=password('123456') where user='root';
9.3 允许远程登录,用户名为root(@前),密码为"root"(不包括"",BY后)
注1:远程登录密码可以和本地登录密码不一致
注2:远程登录时要关闭防火墙或设置白名单
GRANT ALL PRIVILEGES ON *.* TO root@"%" IDENTIFIED BY "root";
9.4 刷新系统权限相关表(注:上面的插入操作只是在user表中插入了一条记录,并没有刷新mysql的系统权限相关的数据表,即并未生效)
flush privileges;
9.5 退出
exit;
10、解决中文乱码问题
vi /etc/my.cnf
在/etc/my.cnf文件的socket下面一行添加 character-set-server=utf8
11、重启数据库
service mysqld restart
登录数据库检查编码格式
show variables like "%char%";