linux centos 安装mysql

1、官方安装文档
http://dev.mysql.com/doc/mysql-yum-repo-quick-guide/en/
2、下载 Mysql yum包
http://dev.mysql.com/downloads/repo/yum/

下载到本地再上传到服务器,或者使用wget 直接下载
wget http://repo.mysql.com/mysql57-community-release-el7-10.noarch.rpm

3、安转软件源
rpm -Uvh mysql57-community-release-el7-10.noarch.rpm

4、安装mysql服务端
 yum install  -y  mysql-community-server
5、启动mysql
service mysqld start
systemctl start mysqld.service
6、检查mysql 的运行状态
service mysqld status
systemctl status mysqld.service
7、修改临时密码
Mysql5.7默认安装之后root是有密码的。
7.1 获取MySQL的临时密码
为了加强安全性,MySQL5.7为root用户随机生成了一个密码,在error log中,关于error log的位置,如果安装的是RPM包,则默认是/var/log/mysqld.log。
只有启动过一次mysql才可以查看临时密码
grep 'temporary password' /var/log/mysqld.log

这里的密码是YdsGaxOq>2n!
7.2 登陆并修改密码
使用默认的密码登陆
mysql -uroot -p

用该密码登录到服务端后,必须马上修改密码,不然会报如下错误:

mysql> select @@log_error;
ERROR 1820 (HY000): You must reset your password using ALTER USER statement before executing this statement.
mysql>
修改密码
ALTER USER 'root'@'localhost' IDENTIFIED BY 'root';//这里就是localhost

如果密码设置太简单出现以下的提示

如何解决ERROR 1819 (HY000): Your password does not satisfy the current policy requirements呢? 这里直接提供解决方案文末有详细的说明
必须修改两个全局参数:
首先,修改validate_password_policy参数的值
mysql> set global validate_password_policy=0;
再修改密码的长度
set global validate_password_length=1;
再次执行修改密码就可以了
8、授权其他机器登陆
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;

FLUSH  PRIVILEGES;
9、关于密码设置的详细说明
1、systemctl stop mysqld

2、systemctl set-environment MYSQLD_OPTS="--skip-grant-tables"

3、systemctl start mysqld

4、mysql -u root

5、UPDATE mysql.user SET authentication_string = PASSWORD('MyNewPassword') WHERE User = 'root' AND Host = 'localhost';

注:如果显示 ERROR 1819 (HY000): Your password does not satisfy the current policy requirements,说明你的密码不符合安全要求,
需要:set global validate_password_policy=0;
降低安全策略。

6、FLUSH PRIVILEGES;

7、quit;

10、修改编码
注意:mysql5.7和以前的编码修改方式不一样了。需要注意。不过这里已经是正确的!
在/etc/my.cnf [mysql]下面
character_set_server=utf8

11、修改默认密码
升级的mysql5.7修改完root账户密码后仍然无法登陆,查阅资料可能和user表的plugin 字段为空有关。

1、首先将my.ini中加入在[mysqld]节点上加skip-grant-tables
主要作用是:跳过表中的验证,可以无密码登陆。

2、登录之后查询plugin字段值:

mysql> select plugin from user where user = 'root';

执行结果plugin字段为空。

3、更新plugin字段为mysql默认值:

mysql> update user set plugin='mysql_native_password';

查询更新结果:

4、更新成功,继续执行更新密码操作:

mysql> update user set authentication_string=password('密码') where user='root' and host='localhost';

5、刷新权限:

mysql> flush privileges;

6、将my.ini中的skip-grant-tables注释掉或者删掉

重启mysql,密码更新成功,亲测有效!

12、
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements

原因是为了加强安全性,密码强度更强了,你设置的简单密码,所以报这样的错。
解决办法:
1.把密码级别降低

mysql> set global validate_password_policy=0;
Query OK, 0 rows affected (0.00 sec)
1
2
2.再修改密码

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'admin888';
Query OK, 0 rows affected (0.00 sec)

13、远程连接
mysql> use mysql;
Database changed
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '!@#QWEASD_796' WITH GRANT OPTION;
Query OK, 0 rows affected (0.00 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
mysql> select host,userfrom user;

14、忽略大小写
MYSQL设置不区分大小写
编辑mysql配置文件my.cnf
vi /etc/my.cnf
lower_case_table_names=1  

15、设置查询缓存
max_heap_table_size=256M
max_allowed_packet=5000M
16,最大连接数
max_connections=1510
重启:service mysqld restart

猜你喜欢

转载自blog.csdn.net/gemedu/article/details/89880347