1.配置yum源
# 下载mysql源安装包
shell> wget http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm
# 安装mysql源
shell> yum localinstall mysql57-community-release-el7-8.noarch.rpm
检查mysql源是否安装成功
shell> yum repolist enabled | grep "mysql.*-community.*"
看到上图所示表示安装成功
2.安装mysql
shell> yum install mysql-community-server
3、启动MySQL服务
shell> systemctl start mysqld
查看MySQL的启动状态
shell> systemctl status mysqld
● mysqld.service - MySQL Server
Loaded: loaded (/usr/lib/systemd/system/mysqld.service; disabled; vendor preset: disabled)
Active: active (running) since 五 2016-06-24 04:37:37 CST; 35min ago
Main PID: 2888 (mysqld)
CGroup: /system.slice/mysqld.service
└─2888 /usr/sbin/mysqld --daemonize --pid-file=/var/run/mysqld/mysqld.pid
6月 24 04:37:36 localhost.localdomain systemd[1]: Starting MySQL Server...
6月 24 04:37:37 localhost.localdomain systemd[1]: Started MySQL Server.
4、开机启动
shell> systemctl enable mysqld
shell> systemctl daemon-reload
5、修改root默认密码
mysql安装完成之后,在/var/log/mysqld.log文件中给root生成了一个默认密码。
查看默认密码
shell> grep 'temporary password' /var/log/mysqld.log
其中 Q2>r4=l-DWIP
就是我的默认密码
用默认密码登录
shell> mysql -uroot -p
mysql> Enter password: Q2>r4=l-DWIP
修改默认密码
mysql> SET PASSWORD = PASSWORD('root');
# 上面的root是你的新密码
6.允许root远程登录
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123@asdf' WITH GRANT OPTION;
mysql> flush privileges;
第一句中”%”表示任何主机都可以远程登录到该服务器上访问。如果要限制只有某台机器可以访问,将其换成相应的IP即可,如:
GRANT ALL PRIVILEGES ON . TO root@”172.168.193.25” IDENTIFIED BY “123@asdf”;
123@asdf是登录密码。
第二句表示从mysql数据库的grant表中重新加载权限数据。因为MySQL把权限都放在了cache中,所以在做完更改后需要重新加载。
注意
1.具体生产环境根据自己的配置需要再进行配置。
2.阿里云云服务器如果MySQL配置了远程访问还是无法访问,可能是阿里云默认是不开放3306端口的。可以去阿里云的控制台修改网络配置。
7.修改字符集编码 UTF-8
查看当前的字符编码
show variables like 'char%'
检测是否都是utf-8(filesystem除外),如果不是就得改,例如这个character_set_server
一般是拉丁编码
修改编码
//停数据库
systemctl stop mysqld
//进入 my.cnf 文件,一般是在etc路径下
vim /etc/my.cnf
//加入要修改的字符集 修改完:wq退出
在[mysqld]下追加:
character-set-server=utf8
//重启数据库
systemctl start mysqld
* 8.题外话
当你在安装CentOS6.8上安装Mysql5.7的时候,它可能会提示你需要更高glibc的相关库,如下提示
libc.so.6: version `GLIBC_2.14' not found
--> Processing Dependency: libc.so.6(GLIBC_2.17)(64bit) for package: mysql-community-server-5.7.18-1.el7.x86_64
--> Finished Dependency Resolution
Error: Package: mysql-community-client-5.7.18-1.el7.x86_64 (mysql57-community)
Requires: libstdc++.so.6(GLIBCXX_3.4.15)(64bit)
Error: Package: mysql-community-server-5.7.18-1.el7.x86_64 (mysql57-community)
Requires: libc.so.6(GLIBC_2.17)(64bit)
Error: Package: mysql-community-client-5.7.18-1.el7.x86_64 (mysql57-community)
Requires: libc.so.6(GLIBC_2.14)(64bit)
Error: Package: mysql-community-libs-5.7.18-1.el7.x86_64 (mysql57-community)
Requires: libc.so.6(GLIBC_2.14)(64bit)
Error: Package: mysql-community-server-5.7.18-1.el7.x86_64 (mysql57-community)
Requires: libstdc++.so.6(GLIBCXX_3.4.15)(64bit)
Error: Package: mysql-community-server-5.7.18-1.el7.x86_64 (mysql57-community)
Requires: systemd
You could try using --skip-broken to work around the problem
这种提示的原因是你的glibc的库的版本太低。glibc是linux系统中最底层的api,随便更改底层库可能会造成系统的不稳定。是跟系统内核密切相关的东西,你与其去更新这个底层库,还不如去跟新Linux的版本。
所以我的建议是提升系统版本到CentOS7,再装MySQL(安装过程顺畅无比)。
当然如果有兴趣的同学可以去尝试一下更新,附上glibc的下载地址 : 传送门