Marco Nie - mysql
https://blog.niekun.net/tag/mysql/
MySQL基本操作
https://blog.niekun.net/archives/23.html
2019-02-18T10:47:00+08:00我使用的blog系统基于动态数据库。使用了MySQL管理数据,使用过程中学习了简单常用的指令,涉及创建,查看,备份数据库。进入MySQLmysql -uUSER -pPASSWORD
USER为用户名,安装MySQL的时候会自动创建root用户PASSWORD为用户密码,此密码对应用户名退出 MySQLquit;
创建用户 # 本地访问账户
create user "newuser"@"localhost" identified by "PASSWORD";注意MySQL每条指令以分号;结束newuser为新用户名PASSWORD为此用户密码给新用户授权:# 授予全部数据库权限
grant all privileges on *.* to 'NEWUSER'@'localhost';
FLUSH PRIVILEGES;
# 授予某个数据库权限
grant all privileges on DB.* to "NEWUSER"@"localhost";
FLUSH PRIVILEGES;
查看当前已建立的用户SELECT user,authentication_string,plugin,host FROM mysql.user;
返回结果中 plugin 里显示 auth_socket 的用户为管理员用户,有最高权限。删除某个用户drop user WHICHUSER@localhost;
创建数据库//创建数据库`newDB`
create database newDB;
//授权所有权限
grant all privileges on newDB.* to "newuser"@"localhost" identified by "PASSWORD";
FLUSH PRIVILEGES;
查看数据库//查看所有数据库
show databases;
//查看数据库信息
show create database newDB;
**//删除数据库**
drop database newDB;
//查看一个数据库内容
use newDB;
show tables;
//例如显示tables内容为:test1 test2 test3
//查看数据表信息,后面加上参数/G可使结果更加美观
show create table test1;
//查看表的的字段信息
desc test1;
修改用户密码ALTER USER 'user'@'localhost' IDENTIFIED BY 'newPass';
flush privileges;
备份数据库备份所有数据库:mysqldump -uUSER -pPASSWORD --all-databases > /path/to/backup.sql
备份特定一个数据库:mysqldump -uUSER -pPASSWORD DATABASE_NAME > /path/to/backup.sql
还原数据库还原特定一个数据库:mysqldump -uUSER -pPASSWORD DATABASE_NAME < /path/to/backup.sql
恢复新建立数据库数据,我在恢复数据的时候使用了这种方法:use YOUDATABASE
source /path/to/mysql.sql
grant all privileges on blog.* to "root"@"localhost" identified by "password";
远程账户以上数据库默认为本地模式,如果需要远程访问数据库,则需要修改 mysql 配置文件以及建立远程账户。配置文件修改 /etc/mysql/mysql.conf.d/mysqld.cnf:在文件中找到 [mysqld] 配置段,下面会有一行 bind-address。
# 默认设置,只允许本地连接
bind-address = 127.0.0.1
# 修改后,允许所有 IP 连接
bind-address = 0.0.0.0创建账户:CREATE USER 'remote_user'@'%' IDENTIFIED BY 'your_strong_password';
数据库授权:-- 将 your_database.* 替换为你需要授权的数据库名
-- 如果要授权所有数据库,可以使用 *.*,但请谨慎操作
GRANT ALL PRIVILEGES ON your_database.* TO 'remote_user'@'%';
FLUSH PRIVILEGES;
重启服务:sudo systemctl restart mysql
测试:mysql -h your_server_ip -u remote_user -p
如果一切顺利,你应该能够成功连接到你服务器上的 MySQL 数据库了。