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 数据库了。