Linux下安装Mysql数据库
1.添加MySQL Yum存储库
# 安装wget组件
执行: yum -y install wget
# 下载yum库 el7是操作系统版本=rhel7
执行: wget https://dev.mysql.com/get/mysql80-community-release-el7-3.noarch.rpm
# 安装yum库
执行: sudo rpm -Uvh mysql80-community-release-el7-3.noarch.rpm
2.选择版本
通过vi编辑器,编辑执行 vi /etc/yum.repos.d/mysql-community.repo
在文本中enable=1即为启用,enable=0即为禁用,就是选择安装哪个版本的mysql
例如:
[mysql80-community]
name=MySQL 8.0 Community Server
baseurl=http://repo.mysql.com/yum/mysql-8.0-community/el/6/$basearch/
enabled=1 //表示1启用8.0这个版本
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
通过运行以下命令并检查其输出来验证是否已启用和禁用正确的子存储库(对于启用了dnf的系统,请使用dnf替换 命令中的 yum):
yum repolist enabled | grep mysql
3.安装MySQL
执行MySQL安装指令:sudo yum install mysql-community-server
此步会报错时,修改方案:将 /etc/yum.repos.d/mysql-community.repo
文件做如下修改gpgcheck=1
改为 gpgcheck=0
忽略检查
# Enable to use MySQL 5.7
[mysql57-community]
name=MySQL 5.7 Community Server
# baseurl=http://repo.mysql.com/yum/mysql-5.7-community/el/6/$basearch/
baseurl=http://repo.mysql.com/yum/mysql-5.7-community/el/7/$basearch/
enabled=1
# gpgcheck=1 //忽略检查
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql
再次安装即可
4.启动服务
# 搜索mysql服务
systemctl list-unit-files | grep mysql
# 启动服务
systemctl start mysqld
5.设置密码
# 从mysql日志文件中获取,mysql5.7在安装时默认指定的临时密码,然后既可以登录mysql
grep 'temporary password' /var/log/mysqld.log
输入指令:mysql -u root -p 输入查到的密码进入MySQL
# 修改密码,必须包含 大写字母 小写字母 符号 数字 且长度不能小于8位
ALTER USER 'root'@'localhost' IDENTIFIED BY '需要设置的密码';
6.远程权限
下面两种方式均可以
use mysql;
GRANT ALL ON *.* TO root@'%' IDENTIFIED BY 'ZHJzhj9!' WITH GRANT OPTION;
FLUSH PRIVILEGES;
# 直接改mysql的用户表也可以
use mysql;
update user set host = '%' where user = 'root'; (使mysql root用户可以连接上任意的ip地址)
# 刷新权限
FLUSH PRIVILEGES;
7.Root找回密码
在 /etc/my.cnf下的 [mysqld]
中添加: skip-grant-tables
[mysqld]
skip-grant-tables
# 重启mysql
[root@kfr~]# systemctl restart mysql
# 直接登录
[root@kfr ~]# mysql -u root
# 修改密码为 "想设置密码"
mysql> use mysql
mysql> update user set authentication_string=password('想设置密码') where user='root';
mysql> exit
删除/etc/my.cnf下的 [mysqld]中:的 skip-grant-tables
# 重启mysql
[root@kfr ~]# systemctl restart mysql
8.本地客户数据乱码
/etc/my.cnf 中添加如下配置,即可
[client]
default-character-set=utf8
9.导入导出数据
# 导出:将db库和所有数据 导出到一个 sql文件中
C:\Users\kfr> mysqldump -uroot -p111111 --databases db >
d:/shiro.sql
# 导入:mysql> source d:/shiro.sql
10.MySQL乱码
* create database db_1909 `default charset = utf8`;
* create table t_user(id int primary key auto_increment,name varchar(20))`default charset=utf8`;
* dbc:mysql://localhost:3306/db_fruit?useUnicode=true&`characterEncoding=utf8`&useSSL=false