具体如下:
1. 检查系统自带的MySQL及相关RPM包,是否安装
rpm -qa | grep -i mysql
如果有安装,则移除(rpm –e 名称)
yum -y remove mysql
2. 创建用户和组(如果已经创建则跳过)
groupadd mysql
useradd -r -g mysql mysql
3. 解压tar文件,并安装
进入文件目录 运行:tar -xf mysql-5.7.16-1.el6.x86_64.rpm-bundle.tar 解压完成,然后依次执行。
rpm -ivh mysql-community-common-5.7.16-1.el6.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.16-1.el6.x86_64.rpm
rpm -ivh mysql-community-client-5.7.16-1.el6.x86_64.rpm
rpm -ivh mysql-community-server-5.7.16-1.el6.x86_64.rpm
到此,mysql已经安装完成。
4. 基础配置
执行:service mysqld start 出现下图表示安装成功
关闭mysql服务:service mysqld stop
初始化(这里是以root身份执行的):bin/mysqld --initialize --user=mysql
注:使用–initialize会为root账户生成一个随机的初始密码,我们可以使用命令:mysql -u root -p,然后输入密码来登录MySQL。使用–initialize-insecure不会为root账户生成一个随机的初始密码,我们可以使用命令:mysql -u root –skip-password直接登录MySQL,这里我是用的第一种。
下面我们来看下root账户的随机初始密码,执行命令:vi /var/log/mysqld.log
启动mysql服务 : service mysqld start
登录:mysql -u root -p 并输入密码
但是,我就是在这里遇到了问题,输入密码后提示 :Access denied for user ‘root’@’localhost’ (using password: YES) 。百度了下,回答有很多 ,试了一下,过程如下:
首先关闭MySQL服务 :service mysqld stop
用mysqld_safe重启服务,执行:mysqld_safe --user=root --skip-grant-tables --skip-networking &如果提示mysqld_safe A mysqld process already exists。执行ps -A|grep mysql显示当前进程,然后执行
kill -9 xxxx xxxx填上一步你查出的进程序号。然后执行就没问题了。
执行 mysql -u root
网上的很多说法是执行update user set password=PASSWORD('12345') where user='root';
我试了但是提示没有password这个字段,百度了下原来5.7版本后的 password 字段变成了authentication_string,执行update user set authentication_string=PASSWORD('12345') where user='root';果然可以。
然后 执行:flush privileges;
最后 :quit
再次登录 OK
然后我想让root在其他主机上也能链接到此数据库
执行 : GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'mypassword' WITH
GRANT OPTION; 提示 You must reset your password ,意思是让我先重设一下密码(what the xxxx)。好吧,接着来。
密码重置,一样先关闭mysql 服务,依次执行:
mysqld_safe --user=root --skip-networking &
mysql -u root -p
SET PASSWORD = PASSWORD('your new password');
ALTER USER 'root'@'localhost' PASSWORD EXPIRE NEVER;
flush privileges;
quit;
注:新密码不能太简单,不然会提示密码过于简单,最好包含大小写字母,数字,特殊字符。
一切OK
执行 : GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'mypassword' WITH
GRANT OPTION;
重启mysql服务:service mysqld restart
测试通过。。。