主要记录工作中常用数据库操作,此文档持续更新补充。
1、数据库启动
root@CentOS7-0002 \~\]# systemctl stop mysqld //停止 \[root@CentOS7-0002 \~\]# systemctl restart mysqld //重启 \[root@CentOS7-0002 \~\]# systemctl status mysqld //查看状态 \[root@CentOS7-0002 \~\]# systemctl start mysqld //启动 \[root@CentOS7-0002 \~\]# systemctl enable mysqld //设置开机启动
2、忘记root密码
1、停止MySQL服务。可以使用以下命令停止MySQL服务:
root@CentOS\~\]# /etc/init.d/mysql stop **2、在MySQL配置文件中添加一行跳过密码验证的配置。打开MySQL配置文件** \[root@CentOS\~\]# vim /etc/my.cnf **3、在文件的 `[mysqld]` 部分添加以下一行:**skip-grant-tables **4、启动MySQL服务。可以使用以下命令启动MySQL服务:** \[root@CentOS\~\]# /etc/init.d/mysql start **5、连接到MySQL服务器。可以使用以下命令连接到MySQL服务器,修改密码** \[root@CentOS\~\]# mysql -u root SQL\> ALTER USER 'root'@'localhost' IDENTIFIED BY '新密码'; SQL\> FLUSH PRIVILEGES; **6、修改完去掉配置,重启mysql服务器,再重新登录。**
3、数据库连接
root@CentOS7-0002 \~\]# mysql -u nacos -pnacos //本地连接 \[root@CentOS7-0002 \~\]# mysql -h 192.168.65.56 -P 3306 -u nacos -pnacos //远程链接
远程链接端口可以省略
4、设置MySql用户远程链接
4.1、授予登录权限
解决二个问题:(1)为mysql用户授予远程登录权限(改表法或授权法);(2)关闭防火墙
root@CentOS7-0002 \~\]# mysql -u root -proot //登录mysql mysql\> grant all on \*.\* to test@'127.0.0.1' identified by "password"; //授权
4.2、改表法
test用户授权(没有新建),密码为password:
root@CentOS7-0002 \~\]# mysql -u root -proot //登录数据库 mysql\>USE mysql; //选择database mysql\>UPDATE user SET host = '%' WHERE user = 'test'; //修改t权限,%:任何ip都可以进行访问 mysql\>SELECT user,host FROM user; //查看user表是否修改成功 : mysql\>flush privileges; //更新数据库,立即生效
5、修改root密码
1、登录MySQL服务器,使用root用户或具有管理员权限的用户。
root@CentOS\~\]# mysql -uroot -p **2、执行以下命令,使用ALTER USER语句修改root用户的密码,其中,'new_password'是新的密码,可以根据需要进行更改。** SQL\> ALTER USER 'root'@'%' IDENTIFIED BY 'new_password'; **3、如果需要让root用户可以从任何主机远程登录MySQL,可以执行以下命令:** SQL\> ALTER USER 'root'@'%' IDENTIFIED BY 'new_password';
6、查看数据库用户
//这将显示所有用户的用户名、主机和密码哈希值(authentication_string) SQL> SELECT User, Host, authentication_string FROM mysql.user;