安装
yum -y install mariadb mariadb-server
服务管理命令
systemctl start mariadb.service # 开启服务
systemctl enable mariadb.service # 开机启动
systemctl status mariadb.service # 查看服务状态
systemctl stop mariadb.service # 关闭服务
初始化
mysql_secure_installation 提示:y = yes,n = no,大写表示默认值
Enter current password for root (enter for none): 输入当前root账号密码,刚安装默认为空,直接回车即可
Set root password? [Y/n] 是否输入root密码,输入y 回车
New password: 输入密码
Re-enter new password: 再次输入密码
Remove anonymous users? [Y/n] 删除匿名用户 y
Disallow root login remotely? [Y/n] 禁止root账号远程登录 y
Remove test database and access to it? [Y/n] 删除测试表 y
Reload privilege tables now? [Y/n] 重新加载配置表 y
报错
数据库未启动,则 mysql_secure_installation 报错:
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
登陆
mysql -uroot -p
数据库相关命令
创建数据库
涉及编码问题,初学者或一般人建议使用 Navichat
# 创建数据库
create database testdatabase;
# 创建数据库:设置编码为 utf8mb4 排序方式为 utf8mb4_unicode_ci
create database testdatabase DEFAULT CHARSET utf8mb4 COLLATE utf8mb4_unicode_ci;
# 创建数据库:如果不存,才创建,并设置编码为 utf8mb4 排序方式为 utf8mb4_unicode_ci
create database IF NOT EXISTS testdatabase DEFAULT CHARSET utf8mb4 COLLATE utf8mb4_unicode_ci;
产看 Mysql 所有数据库的编码及排序方式
SELECT SCHEMA_NAME 'database', default_character_set_name 'charset', DEFAULT_COLLATION_NAME 'collation' FROM information_schema.SCHEMATA;
修改已存在数据库编码及排序方式
# 修改数据库编码
alter database testdatabase set character utf8;
# 修改数据库编码及排序方式
alter database testdatabase set character utf8 collate utf8_general_ci;
创建用户
命令:CREATE USER 'username'@'host' IDENTIFIED BY 'password';
例:
CREATE USER 'testuser'@'%' IDENTIFIED BY '123456';
CREATE USER 'testuser'@'localhost' IDENTIFIED BY '123456';
CREATE USER 'testuser'@'192.168.1.110' IDENDIFIED BY '123456';
CREATE USER 'testuser'@'%' IDENTIFIED BY '123456';
CREATE USER 'testuser'@'%' IDENTIFIED BY '';
CREATE USER 'testuser'@'%';
授权权限
命令:GRANT privileges ON databasename.tablename TO 'username'@'host';
说明:GRANT privileges ON * TO 'testuser'@'%';
privileges:用户的操作权限(SELECT,INSERT,UPDATE等,如果要授予所的权限则使用ALL)
databasename:数据库名
tablename:表名
例:
# 授予 testuser 使用密码 123456 登陆,并能够查询,插入 testdatabase.testtable
GRANT SELECT, INSERT ON testdatabase.testtable TO 'testuser'@'%' IDENTIFIED BY '123456';
# 授予 testuset 使用密码 123456 登陆,并能够管理所有数据库
GRANT ALL ON *.* TO 'testuser'@'%' IDENTIFIED BY '123456';
# 注意:以上命令授权的用户不能给其它用户授权,如果想让该用户可以授权,用以下命令
GRANT ALL privileges ON databasename.tablename TO 'username'@'host' IDENTIFIED BY 'PASSWROD' WITH GRANT OPTION;
# 刷新权限,使权限生效
flush privileges;