删除数据库
若之前使用过mysql的数据库出现错误需要重新安装则需要先卸载掉原来的数据库。按照顺序执行下列代码:
- sudo apt purge mysql-*
- sudo rm -rf /etc/mysql/ /var/lib/mysql
- sudo apt autoremove
- sudo apt autoreclean(如果提示指令有误,就把reclean改成clean)
安装数据库
更新软件源
- sudo apt-get update
依次输入这三条命令:
- sudo apt-get install mysql-server
- sudo apt install mysql-client
- sudo apt install libmysqlclient-dev
执行第一句时会出现弹框提示设置用户名密码,一般为root/root。但不建议使用这么简单的密码。提示是否继续则都输入Y就可以。
输入查看进程命令查看是否安装成功:
- sudo netstat -tap | grep mysql
使用 mysql --version 查看安装的mysql版本
配置mysql数据库
一、设置mysql允许远程访问,首先编辑文件/etc/mysql/mysql.conf.d/mysqld.cnf:编辑配置文件就输入命令
sudo vi /etc/mysql/mysql.conf.d/mysqld.cnf
进入配置文件后注释掉以下命令(在该命令最前面添加#就是注释):
bind-address = 127.0.0.1:
二、远程登录报错:Host is not allowed to connect to this MySQL server,安装以下步骤进行配置
- 在装有MySQL的机器上登录MySQL mysql -u root -p密码
- 执行
use mysql;
- 执行
update user set host = '%' where user = 'root'; (
这一句执行完可能会报错,可以无视) -
执行
FLUSH PRIVILEGES;
第四步是刷新MySQL的权限相关表
创建用户和授权
进入到mysql数据库下
mysql> use mysql
Database changed
对新用户增删改
1.创建用户:(gc可以换为任意用户,123可以为任意密码)
# 指定ip:192.128.1.1的gc用户登录
create user 'gc'@'192.128.1.1' identified by '123';
# 指定ip:192.128.1.开头的mjj用户登录
create user 'gc'@'192.128.1.%' identified by '123';
# 指定任何ip的gc用户登录
create user 'gc'@'%' identified by '123';
2.删除用户
drop user '用户名'@'IP地址';
3.修改用户
rename user '用户名'@'IP地址' to '新用户名'@'IP地址';
4.修改密码
set password for '用户名'@'IP地址'=Password('新密码');
对当前的用户授权管理
#查看权限
show grants for '用户'@'IP地址'
#授权 gc用户仅对db1.t1文件有查询、插入和更新的操作
grant select,insert,update on db1.t1 to "gc"@'%';
# 表示有所有的权限,除了grant这个命令,这个命令是root才有的。gc用户对db1下的t1文件有任意操作
grant all privileges on db1.t1 to "gc"@'%';
#mjj用户对db1数据库中的文件执行任何操作
grant all privileges on db1.* to "gc"@'%';
#mjj用户对所有数据库中文件有任何操作
grant all privileges on *.* to "gc"@'%';
#取消权限
# 取消gc用户对db1的t1文件的任意操作
revoke all on db1.t1 from 'gc'@"%";
# 取消来自远程服务器的gc用户对数据库db1的所有表的所有权限
revoke all on db1.* from 'gc'@"%";
取消来自远程服务器的gc用户所有数据库的所有的表的权限
revoke all privileges on *.* from 'gc'@'%';
MySql备份命令行操作
复制代码
# 备份:数据表结构+数据
mysqdump -u root db1 > db1.sql -p
# 备份:数据表结构
mysqdump -u root -d db1 > db1.sql -p
#导入现有的数据到某个数据库
#1.先创建一个新的数据库
create database db2;
#2.将已有的数据库文件导入到db2数据库中
mysqdump -u root -d db2 < db1.sql -p
登录MySQL
启动mysql
sudo service mysql start
查看mysql是否启动
sudo netstat -tap | grep mysql
登录
- mysql -u root -p
- //输入root的密码
service mysql start //启动mysql
service mysql restart //重新启动mysql
service mysql stop //关闭mysql