环境介绍>>>>>>>>>>>>>>>>>>
操作系统:Centos 7.1
mysql数据库版本:mysql5.7.9
mysql官方网站:http://www.mysql.com
-------------------------------------------------------------
1、安装新版mysql之前,我们需要将系统自带的mariadb-lib卸载,其实对于yum的方式安装,此步也可以省去
[root@ ~]# rpm -qa|grep mariadb
mariadb-libs-5.5.-.el7_0.x86_64
[root@ ~]# rpm -e mariadb-libs-5.5.-.el7_0.x86_64 --nodeps //对于yum的方式安装,这一步也可以省去
2、到mysql的官网下载最新版mysql的yum仓库文件,到笔者截稿时最新yum仓库文件为:mysql57-community-release-el7-7.noarch.rpm
3、上传mysql57-community-release-el7-7.noarch.rpm到linux服务器,并使用rpm命令进行安装,如下图所示:
4、我们使用yum方式安装mysql-server数据库服务时,只需要安装,yum会自己解决所需的依赖问题
[root@ ~]# yum install mysql-community-server.x86_64 -y //yum安装mysql-community-server服务 …… …… …… ……省略部分输出…… …… …… ……
Installed:
mysql-community-libs.x86_64 :5.7.-.el7 mysql-community-libs-compat.x86_64 :5.7.-.el7
mysql-community-server.x86_64 :5.7.-.el7 Dependency Installed:
mysql-community-client.x86_64 :5.7.-.el7 mysql-community-common.x86_64 :5.7.-.el7 net-tools.x86_64 :2.0-0.17.20131004git.el7 Replaced:
mariadb-libs.x86_64 :5.5.-.el7_0 Complete!
5、接下来是初始化数据库,我们使用如下两种方法均可,效果都是一样的
[root@ ~]# mysql_install_db --datadir=/var/lib/mysql //必须指定datadir,执行后会生成~/.mysql_secret密码文件
-- 00:20: [WARNING] mysql_install_db is deprecated. Please consider switching to mysqld --initialize
[root@ ~]# mysqld --initialize //新版的推荐此方法,执行生会在/var/log/mysqld.log生成随机密码
6、更改mysql数据库目录的所属用户及其所属组,然后启动mysql数据库
[root@ ~]# chown mysql:mysql /var/lib/mysql -R
[root@ ~]# systemctl start mysqld.service //启动mysql数据库服务
7、根据第5步中的密码登录到mysql,更改root用户的密码,新版的mysql在第一次登录后更改密码前是不能执行任何命令的
[root@5201351 ~]# mysql -uroot -p'g3OK;GgJsT&p'
mysql> select version();
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
mysql> set password for 'root'@'localhost'=password('www.cnblogs.com/5201351');
mysql> select version();
+-----------+
| version() |
+-----------+
| 5.7.9 |
+-----------+
1 row in set (0.00 sec)
mysql>
8、最后我们还可以根据实际情况创建用户,及作权限分配
mysql> create user 'root'@'192.168.100.2' identified by 'QQ5201351';
mysql> GRANT ALL PRIVILEGES ON dbname.* to 'root'@'192.168.100.2';
mysql> flush privileges
=====================================================================
最后需要特别提醒注意的一点是,新版的mysql数据库下的user表中已经没有Password字段了
而是将加密后的用户密码存储于authentication_string字段
尊重别人的劳动成果 转载请务必注明出处:http://www.cnblogs.com/5201351/p/4912614.html