以下内容不算是坑,但是对于新手操作需要注意的点。
linux 安装mysql
安装mysql
sudo apt-get update #更新源
sudo apt-get install mysql-server #安装
验证是否已经安装
systemctl status mysql
登录
sudo -uroot -p
启动mysql:
方式一:sudo /etc/init.d/mysql start
方式二:sudo service mysql start
停止mysql:
方式一:sudo /etc/init.d/mysql stop
方式二:sudo service mysql stop
重启mysql:
方式一:sudo/etc/init.d/mysql restart
方式二:sudo service mysql restart
密码更改
- 在/etc/mysql/mysql.conf.d 文件夹中更改 mysqld.cnf 文件
sudo vi mysqld.cnf
在最后一行添加skip-grant-tables
注意: 更改完密码后一定注释掉,如果不注释掉
1.数据库一直都是免密登录,
2.会让数据库的端口为0 ,
3.因为数据库的端口为0 所以不能网络连接数据库
- mysql 免密登录
sudo -uroot -p
需要输入密码时,直接回车进入;
- 选中数据库
usb 数据库名称
如果不清楚,可以show databases,显示数据库;
- 更改数据库密码
ALTER USER ‘root’@‘localhost’ IDENTIFIED WITH mysql_native_password BY ‘密码’;
Query OK, 0 rows affected (0.00 sec) – 说明重置成功
注意:
1.root 是用户名称
2.localhost 是user 表中host字段数据,如果是% 就需要写成
ALTER USER ‘root’@’%’ IDENTIFIED WITH mysql_native_password BY ‘密码’;
3.看是否可以执行成功,如果不成功可以先将authentication_string清空,
update user set authentication_string = ‘’ where user = ‘root’
4.如果还是不可以,需要注意mysql密码的要求
https://www.cnblogs.com/Owen-ET/p/9644727.html
- 密码更改成功
需要进入/etc/mysql/mysql.conf.d 文件夹中更改 mysqld.cnf 文件
sudo vi mysqld.cnf
在最后一行skip-grant-tables注释掉
注意: 一定要注释掉,否则重启后密码还是为空
- 重启mysql
sudo service mysql restart
mysql -uroot -p 登录数据库
- 查询表结构
desc user;
mysql 8.0 密码会存储在authentication_string中,是以字符串加密的形式存在,不是字符串12345678
- 新增数据库用户
CREATE USER ‘admin’@‘localhost’ IDENTIFIED BY ‘你要设置的密码’;
- 给新用户更改密码
ALTER USER ‘admin’@‘localhost’ IDENTIFIED WITH mysql_native_password BY ‘密码’;
Query OK, 0 rows affected (0.00 sec) – 说明重置成功
网络连接数据库
- 在/etc/mysql/mysql.conf.d 文件夹中更改 mysqld.cnf 文件
将bind-address更改为0.0.0.0 所有ip可以访问
新增端口号将3306改为3310
- 远程连接授权
grant all privileges on . to ‘root’@’%’;
FLUSH PRIVILEGES -刷新
- 使用dbeaver 7.0 连接远端数据库
点击测试连接,显示连接成功