第一部分:安装
首先查看是否安装了mariadb: rpm -qa | grep mariadb
如果有,那就卸载: rpm -e --nodeps mariadb-libs
1.下载YUM库
shell > wget http://dev.mysql.com/get/mysql57-community-release-el7-7.noarch.rpm
2.安装YUM库
shell > yum localinstall -y mysql57-community-release-el7-7.noarch.rpm
3.安装数据库
shell > yum install -y mysql-community-server
4.启动MySQL服务
shell > systemctl start mysqld.service
5.默认空密码
shell > mysql
6.重置root密码后重启mysql服务
shell > set password for root@localhost = password(‘1234’);
shell > flush privileges;
shell > quit;
shell > systemctl restart mysqld;
出现如下问题:
ERROR 1045 (28000): Access denied for user ‘root’@‘localhost’ (using password: NO)
请修改my.cnf,添加skip-grant-tables和skip-networking:
shell > vi /etc/my.cnf
[mysqld]
skip-grant-tables #不使用mysql数据库里的信息来进行访问控制(警告:这将允许用户任何用户去修改任何数据库)。
skip-networking #只允许通过一个套接字文件(Unix/Linux系统)或通过命名管道(Windows系统)进行本地连接,不允许ICP/IP连接; 这提高了安全性,但阻断了来自网络的外部连接和所有的Java客户程序(Java客户即使在本地连接里也使用TCP/IP)。
重启mysql,然后重复以上修改密码步骤即可,记得修改完后,去掉my.cnf添加的两行。
第二部分:配置
1、添加远程登录用户(登入Mysql)
use mysql;
GRANT ALL PRIVILEGES ON . TO ‘root’@’%’ IDENTIFIED BY ‘1234’ WITH GRANT OPTION;
示例:GRANT ALL PRIVILEGES ON . TO ‘root’@’%’ IDENTIFIED BY ‘1234’ WITH GRANT OPTION;
注:’%'代表任意地址,也可以指定IP
授权完成后一定要用下面的命令刷新权限
2、刷新内存权限
FLUSH PRIVILEGES;
3、设置防火墙
centos7使用的是firewall防火墙
systemctl stop firewalld.service #停止
systemctl status firewalld.service #查看状态
systemctl disable firewalld.service #禁用
4、设置字符编码集和区分大小写
4.1修改mysql配置文件(设置字符编码集)
mysql会去etc下面找my.cnf文件作为默认的配置文件,但是新装的mysql,etc下面是没有my.cnf文件的
所以我们必须要在etc下面造一个my.cnf
怎么造出来?????????????
/usr/share/mysql下面提供了大量的mysql配置文件,有高配的,低配的,啥都有,所以我们随便选个低配的my-small.cnf文件作为我的配置文件吧
1.将该文件复制一份出来,修改文件名为my.cnf
2.打开,在里面添加如下内容:
character-set-server=utf8
collation-server=utf8_general_ci
3.重启mysql服务:systemctl restart mysql
4.重登mysql查看编码:
查看编码命令:show variables like ‘character_set_%’;