------------------------------------------------ 摘自其他文章并做修改,另参考官方文档-------------------------------------------------------------
(注意:安装也可以参考oracle-mysql官网文档,地址:https://dev.mysql.com/doc/refman/8.0/en/linux-installation-yum-repo.html#yum-repo-installing-mysql centos无论哪个安装过程都很接近,centos7 安装区别是防火墙、系统服务启动命令不同而已。)
1、安装mysql的yum源
a、 wget https://dev.mysql.com/get/mysql57-community-release-el6-9.noarch.rpm
b.安装用来配置mysql的yum源的rpm包 (可以去官网找rhel6对应的mysql即可,可以复制下载链接使用wget命令下载,也可以把rpm包大概几十kb下载下来然后放到一个文件夹比如/tmp ,然后执行下面rpm命令)
rpm -Uvh mysql57-community-release-el6-9.noarch.rpm
安装成功后在/etc/yum.repos.d/下会多出几个mysql的yum源的配置。
2.安装mysql
yum install mysql-community-server
3.开启mysql服务
service mysqld start
4、 mysql安装成功后创建的超级用户'root'@'localhost'的密码会被存储在/var/log/mysqld.log,可以使用如下命令查看密码
grep 'temporary password' /var/log/mysqld.log
假设显示内容如下:
2020-03-15T11:02:39.360065Z 1 [Note] A temporary password is generated for root@localhost: (BZk=eG;6vhM
那么密码就是 (BZk=eG;6vhM
5、 接下来输入 mysql -u root -p 密码 回车输入密码 进入 mysql 。
6、然后修改密码:使用命令ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass4!';
示例如下:
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass4!';
7、【【【【 ----错误提示1
这里如果出现mysql ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)错误:
vi /etc/my.cnf
加入:
skip-grant-tables
重启mysql服务:service mysqld restart
密码修改
mysql> update mysql.user set authentication_string=password('MyNewPass4!') where user='root' and host='localhost';
Query OK, 1 row affected, 1 warning (0.00 sec)
Rows matched: 1 Changed: 1 Warnings: 1
mysql>
mysql> flush privileges;
Query OK, 0 rows affected (0.01 sec)
完成后,去掉刚添加的参数,
重启mysql。
----错误提示2
执行修改密码命令shell> mysql -uroot -p
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
出现错误提示如下:
ERROR 1819 (HY000): Your password does not satisfy the current policy requirements
出现上面的提示是因为密码太简单了,解决方法如下:
使用复杂密码,MySQL默认的密码策略是要包含数字、字母及特殊字符;
如果只是测试用,不想用那么复杂的密码,可以修改默认策略,即validate_password_policy(以及validate_password_length等相关参数),使其支持简单密码的设定,具体方法可以自行百度;
修改配置文件/etc/my.cnf,添加validate_password=OFF,保存并重启MySQL
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
Query OK, 0 rows affected (0.00 sec)
】】】
8、远程连接设置
把在所有数据库的所有表的所有权限赋值给位于所有IP地址的root用户。
mysql> grant all privileges on *.* to root@'%'identified by '输入自己的连接密码';
如果提示需要重新初始化密码,使用
9、设置防火墙或者直接关闭(设置好防火墙就可以远程用公网ip地址连接了,本人用虚拟机和主机navicat测试成功!!!)
设置iptables开放3306端口
vi /etc/sysconfig/iptables或者用
iptables -A INPUT -p tcp --dport 3306 -j ACCEPT
或者关闭防火墙(centos7 以下命令,centos7用systemctl命令):
chkconfig iptables off ##关闭开机自启动
service iptables stop ###关闭防火墙
service iptables status ###查看防火墙状态
————————————————
10、设置编码为utf8
查看编码
mysql> SHOW VARIABLES LIKE 'character%';
设置编码
编辑/etc/my.cnf,[mysqld]节点增加以下代码:
[mysqld]character_set_server=utf8init-connect='SET NAMES utf8'
11、设置开机启动(centos7的)
shell> systemctl enable mysqld
shell> systemctl daemon-reload
12、验证mysql安装(通过查看版本):mysqladmin --version
13、查看mysql拥有的数据库:
[root@host]# mysql -u root -p密码
以上命令执行后会输出 mysql>提示符,这说明你已经成功连接到Mysql服务器上,你可以在 mysql> 提示符执行SQL命令:
mysql> SHOW DATABASES;
+----------+
| Database |
+----------+
| mysql |
| test |
+----------+
2 rows in set (0.13 sec)
14、mysql基本命令:
登陆 mysql -u root -p密码 (-p和密码之间没有空格,或者回车输密码)
使用数据库 use mysql
查看数据库的所有表 show tables
退出:quit
重启mysql服务root模式: service mysqld restart (启动是start 停止是stop)
查看mysql状态root模式: service mysqld status
查看mysqld有没有开机自启动root模式: chkconfig