未名Q

此生若能得幸福安稳,谁又愿颠沛流离。

  :: 首页 :: 博问 :: 闪存 :: 新随笔 :: :: 订阅 订阅 :: 管理 ::

简单使用

-- 使用安装版本,不要使用zip版,会没有my.ini文件。
-- mariadb 10.4.34 安装 axure cloud 437版失败,换成10.3.39没有问题。

-- 1.使用create database语句创建数据库
CREATE DATABASE IF NOT EXISTS db_name DEFAULT CHARSET utf8;

-- 2.查看创建的DB的字符集
select schema_name,default_character_set_name from information_schema.schemata where schema_name = 'db_name';

-- 3.创建用户并授权
CREATE USER 'user_name'@'localhost' IDENTIFIED BY 'Password';
flush privileges;
select host,user from mysql.user;
GRANT all privileges ON db_name.* TO 'user_name'@'localhost';

 

其他

-- 4.其他:CMD登陆
mysql -h localhost -P 33060 -u user_name -pPassword
mysql -u user_name -pPassword

-- 4.其他:改密码
set password for 'root'@'localhost' = password('Password');
set password for 'root'@'::1' = password('Password');
set password for 'root'@'127.0.0.1' = password('Password');
flush privileges;

-- 4.其他:可远程登记 root 改名
update mysql.`user` u set `User` ='u1' where u.Host ='%' and u.`User` ='root';
flush privileges;

CREATE USER 'u1'@'%' IDENTIFIED BY "Password";
GRANT all privileges ON *.* TO 'u1'@'%';
select host,user from mysql.user;

-- 4.其他:查看授权与撤消授权
show grants for 'u1'@'%';
revoke all PRIVILEGES ON `db_name`.* from `u1`@`%`;

-- 4.其他:超级权限
update mysql.user set super_priv='Y' where user='u1' and host='%';
flush privileges;

-- 4.其他:删除用户、数据库
DROP USER 'user_name'@'host';
dorp database db_name;

 

备份

-- 4.其他:备份
 -- 准备备份账号
CREATE USER 'BakU'@'localhost' IDENTIFIED BY "@TZwTt";
GRANT select,show view,trigger,lock tables ON *.* TO 'BakU'@'localhost';
-- 开始备份 https://dev.mysql.com/doc/refman/5.7/en/using-mysqldump.html
$> mysqldump -uBaku -p1Xo@Vb --events --routines --triggers --databases axshare > axshare.sql

--events --routines --triggers 事件、存储过程和函数、触发器
--databases 选项创建的包含 CREATE DATABASE 和 USE 语句,它不是需要指定要加载到的默认数据库

--no-data 选项告诉 mysqldump 不要转储表数据,结果 在仅包含语句的转储文件中创建表。相反,--no-create-info 选项 告诉 mysqldump 抑制输出中的语句,以便 转储文件仅包含表数据
$> mysqldump --no-data test > dump-defs.sql
$> mysqldump --no-create-info test > dump-data.sq

 

恢复

-- 4.其他:恢复
-- 如果该文件是不包含 CREATE DATABASE 和 USE 语句的单数据库转储,请创建 数据库
$> mysql -hlocalhost -P33060 -uroot -pB$e351}w1Xo@Vb} --default-character-set=utf8
mysql> CREATE DATABASE IF NOT EXISTS db1;
mysql> USE db1;
mysql> source dump.sql

-- https://dev.mysql.com/doc/refman/5.7/en/mysqldump-upgrade-testing.html
-- 使用 mysqldump 测试升级不兼容性
-- 在考虑MySQL升级时,谨慎的做法是安装 独立于当前生产的较新版本 版本。然后,您可以转储数据库和数据库对象 从生产服务器定义并将它们加载到 新服务器,以验证它们是否得到正确处理。(这是 对于测试降级也很有用。
-- 在生产服务器上:
$> mysqldump --all-databases --no-data --routines --events > dump-defs.sql
-- 在升级的服务器上:
$> mysql < dump-defs.sql
-- 由于转储文件不包含表数据,因此它可以 处理速度快。这使您能够发现潜力 不兼容,无需等待冗长的数据加载 操作。在转储文件存在时查找警告或错误 正在处理中。

-- 验证定义已处理后 正确地转储数据并尝试将其加载到升级后的 服务器。
-- 在生产服务器上:
$> mysqldump --all-databases --no-create-info > dump-data.sql
-- 在升级的服务器上:
$> mysql < dump-data.sql
-- 现在检查表内容并运行一些测试查询。,比如关键表的 select * from table_name;
 -- 涉及系统库的导入,还需要运行 mysql_upgrade.exe

 

posted on 2024-07-12 20:35  未名Q  阅读(2)  评论(0编辑  收藏  举报