服务器安装mysql以及密码修改和打开远程连接
第一步:输入wget https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm
下载成功之后我们就可以在这个目录下看到mysql这个文件
执行rpm -Uvh mysql80-community-release-el7-1.noarch.rpm 安装 能够安装mysql数据库的一个地址
接下来就可以正式安装mysql了,但是呢?默认的是8.0版本的,我在这里演示一下5.7版本.如果需要的就是8.0版本可以直接跳过
修改vi /etc/yum.repos.d/mysql-community.repo
找到这里有一个8.0,有一个人5.7,用哪一个就把它的enabled修改为1,
这里我用的是5.7的所以把5.7的enabled=1,把8.0的enabled=0
修改好保存退出
然后执行yum -y install mysql-community-server
执行完毕MySQL就算安装完成
第二步:
1>.先查看mysql服务的运行状态
systemctl status mysqld
从图片显示是一个死进程,说明mysql并没有启动
2>.启动mysql
systemctl start mysqld
然后在看一下
可以看到mysql已经启动
4>.登录mysql
安装完后 默认的是root 密码为空
mysql -uroot -p
如果不想设符合mysql的密码:
原密码格式不能少于8位.而且需要含有大小写,字符,数字.比较难记.
为了设置简单密码,我们先禁用密码强度,关闭密码验证
<1>.修改关闭密码验证
修改文件/etc/my.cnf 在最后添加
plugin-load=validate_password.so
validate-password=OFF
4.1>重启
systemctl restart mysqld
5>.修改密码.
我采用的是 mysqladmin -u root password "newpwd"
【有几种方式可以完成操作:
最简单的方法,也是安装完mysql后,系统提示的方法。使用mysqladmin来完成。
方法一
shell> mysqladmin -u root password "newpwd"
shell> mysqladmin -u root -h host_name password "newpwd"
password后面的双引号不是必须的,不过如果密码包含空格或者一些特殊的符号,需要用引号。方法二:利用mysql里面的SET PASSWORD命令来完成,注意必须使用PASSWORD()函数来加密设置的这个newpwd,否则直接='newpwd'不会生效。不过如果使用方法一用mysqladmin password设置密码或者用GRANT来设置,就不用使用PASSWORD()函数,因为它们已经自动调用了该函数。shell> mysql -u root
方法二
mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newpwd');
mysql> SET PASSWORD FOR 'root'@'host_name' = PASSWORD('newpwd');
方法三:直接通过UPDATE user表来设置密码shell> mysql -u root
mysql> UPDATE mysql.user SET Password = PASSWORD('newpwd')
-> WHERE User = 'root';
mysql> FLUSH PRIVILEGES;
如果忘记mysql的root密码可以采取下面的步骤重新设置
1。kill掉所有mysql的进程
2。使用--skip-grant-tables的参数启动mysql
shell> mysqld_safe --skip-grant-tables &
3。设置新的密码,同样两种方式可以选择
方法一
shell> mysqladmin -u root flush-privileges password "newpwd"
使用方法一报错了,尽量使用方法二。
方法二
mysql> UPDATE mysql.user SET Password=PASSWORD('newpwd')
-> WHERE User='root';
mysql> FLUSH PRIVILEGES;
4。停止mysql server,用正常的模式启动
5。OK,可以使用新设置的密码了】
6>因为mysql装完后是默认本机访问的就是localhost
update user set host='%' where user='root';
ERROR 1062 (23000): Duplicate entry '%-root' for key 'PRIMARY' 不予理会
flush privileges; 刷新MySQL的系统权限相关表
重新远程连接OK