一、安装
# 更新 apt-get 工具
sudo apt-get update
# 自动下载安装 mysql,默认安装最新版
sudo apt-get install mysql-server
默认是自动启动的,此时可以使用 mysql 进入,不需要密码
二、配置
1.忽略大小写
lower_case_table_names 值为 0 视为敏感,值为 1 视为不敏感
- window 默认为忽略
- linux 默认为大小写敏感
使用 apt-get 安装有优点也有缺点
- 优点是:使用上面方法的有点是一步到位,方便
- 缺点是:会自动启动mysql(对于mysql8来说是缺点)
对于mysql8,忽略大小写的配置,需要在初始化前修改配置文件,如果要对已经启动过,产生了数据文件的mysql8服务,做忽略大小写配置变更,会多如下几个步骤
# mysql8 以下
sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
在[mysqld]下添加
lower_case_table_names=1
# mysql8 及以上,需要在初始化数据库时 添加
# 注意mysql8的服务名时mysql而MySQL7的服务名是mysqld
sudo mysqld --initialize --user=mysql --lower-case-table-names=1
# 1.停掉 mysql 服务
service mysql stop
# 2.删除 /var/lib/mysql (建议重要数据,提前备份)
rm -rf /var/lib/mysql
# 3.新建 /var/lib/mysql
mkdir /var/lib/mysql
# 4.授权
sudo chown -R mysql:mysql /var/lib/mysql
# 5.配置文件 [mysqld] 组下中添加 lower-case-table-names=1
sudo vim /etc/mysql/mysql.conf.d/mysqld.cnf
# 6.初始化 lower-case-table-names=1
sudo /usr/sbin/mysqld --initialize --user=root --lower-case-table-names=1
# 7.启动服务,
service mysql start
# 8.经过初始化后会重置密码,给一个随机的密码
grep "A temporary password" /var/log/mysql/error.log
# 9.登录mysql后,查看忽略大小写是否成功
mysql> show variables like 'lower%';
2.设置账号密码
# 进入mysql 服务设置
sudo mysql
mysql> use mysql;
mysql> update user set plugin='mysql_native_password' where User='root';
# mysql8
#使用mysql_native_password修改加密规则
mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '密码';
# 设置密码后进入mysql需要使用账号密码了,之前是有默认账号,没有密码的,可以直接使用 mysql 进入
sudo mysql -uroot -p123456
3.远程访问
在Ubuntu下MySQL缺省是只允许本地访问的,不能直接使用远程工具连接;
#找到 bind-address 修改值为 0.0.0.0
sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf
#重启mysql
sudo /etc/init.d/mysql restart
#切换数据库
mysql> use mysql;
#查询用户表命令:
mysql> select user,authentication_string,host from user;
#查看状态
mysql> select host,user,plugin from user;
#允许远程访问
mysql> update user set host = '%' WHERE user = 'root';
#刷新cache中配置 刷新权限
mysql> flush privileges;
三、完成
# 检查服务状态
systemctl status mysql.service
文章优先发布在gitee Wyrande/blog - Gitee.com