mysql创建用户、授权、修改密码

  1. linux系统下登录mysql

    mysql -hip -uusername -ppassword;
    
  2. 创建用户

    CREATE USER username IDENTIFIED BY 'password';
    
  3. 授权

    GRANT ALL PRIVILEGES ON *.* TO 'username'@'ip' IDENTIFIED BY 'password';
    全部授权
    GRANT EXECUTE, PROCESS, SELECT, SHOW DATABASES, SHOW VIEW, ALTER, ALTER ROUTINE, CREATE, CREATE ROUTINE, CREATE TABLESPACE, CREATE TEMPORARY TABLES, CREATE VIEW, DELETE, DROP, EVENT, INDEX, INSERT, REFERENCES, TRIGGER, UPDATE, CREATE USER, FILE, LOCK TABLES, RELOAD, REPLICATION CLIENT, REPLICATION SLAVE, SHUTDOWN, SUPER  ON *.* TO 'username'@'访问ip' WITH GRANT OPTION;
    
  4. 查看所有用户
    SELECT user, host, authentication_string FROM mysql.user;

  5. 修改用户访问授权
    RENAME USER ‘user’@’%’ TO ‘user’@‘10.121.%’;

  6. 修改密码
    1.已知原密码

     登录mysql系统
     
     [root@5bso1 ~]# mysql -hlocalhost -uroot -proot
     mysql> use mysql
     mysql> update user set password=password("test") where user="root";
     mysql> flush privileges;
     mysql> exit
    

    2.忘记原来的myql的root的密码

    修改MySQL的配置文件(默认为/etc/my.cnf),在[mysqld]下添加一行skip-grant-tables

    保存配置文件后,重启MySQL服务 service mysqld restart

    再次进入MySQL命令行 mysql -uroot -p,输入密码时直接回车,就会进入MySQL数据库了,这个时候按照常规流程修改root密码即可。

依次输入:
	use mysql;    更改数据库
	mysql版本大于等于5.7
	UPDATE user SET authentication_string=password("root") WHERE user='root';
	mysql版本低于5.7
	UPDATE user SET PASSORD =password("passwd") WHERE USER= 'root';  重设密码
	否则会出现 Unknown column 'password' in 'field list'
	flush privileges;  刷新MySQL的系统权限相关表,以防止更改后拒绝访问;或或者重启MySQL服务器
	密码修改完毕后,再按照步骤1中的流程,删掉配置文件中的那行,并且重启MySQL服务,新密码就生效了。

本来mysql是不分大小写的,但是这个是修改的mysql中的mysql数据库的具体的值,要注意到。

  1. 复制表

    1.复制表结构及数据到新表

    CREATE TABLE 新表  SELECT * FROM 旧表
    

    2.只复制表结构到新表

    CREATE TABLE 新表  SELECT * FROM 旧表 WHERE 1=2 (mysql5以上支持where)
    或者
    CREATE TABLE 新表 LIKE 旧表
    

    3.复制旧表的数据到新表(假设两个表结构一样)

    INSERT INTO 新表 SELECT * FROM 旧表
    

    4.复制旧表的数据到新表(假设两个表结构不一样)

    INSERT INTO 新表(字段1,字段2,…….)  SELECT 字段1,字段2,…… FROM 旧表
    
  2. 导出表数据

    1.单表 mysql的bin目录下,利用mysqldump 导出整表数据

    格式:mysqldump -hip -uusername -ppassword schemaname tablename --where " 条件 ">存储路径\xxx.sql
    例如:mysqldump -uroot -proot seo seoanswer --where=" id <=200 and id>100" > D:\1.sql
    

    2.导出指定表字段

    命令登录mysql
    登录格式:mysql -hip -uusername -ppassword;
    导出格式:mysql -uroot -e "select 字段 from 表名 limit 200001,300000 INTO OUTFILE '输出目录'"
    例如:mysql -uroot -e "select URLADDRESS from seo.appanswerlist_urladdress limit 200001,400000 INTO OUTFILE 'D://soft//mysql//mysql-5.7.23-winx64//123.sql'"
    

    如果出现下图说明导出文件必须在指定目录下如果出现上图说明,文件必须导出到指定目录下
    可以用show vairables like '%secure%'查看目录位置
    在这里插入图片描述
    secure_file_priv 为空,可以通过修改my.ini 在文件最后一行添加“secure_file_priv = 指定目录” 保存即可。重启mysql服务

  3. 命令: show status;
    命令:show status like ‘%下面变量%’;

    Aborted_clients             由于客户没有正确关闭连接已经死掉,已经放弃的连接数量。 
    Aborted_connects            尝试已经失败的MySQL服务器的连接的次数。 
    Connections                 试图连接MySQL服务器的次数。 
    Created_tmp_tables          当执行语句时,已经被创造了的隐含临时表的数量。 
    Delayed_insert_threads      正在使用的延迟插入处理器线程的数量。 
    Delayed_writes              用INSERT DELAYED写入的行数。 
    Delayed_errors              用INSERT DELAYED写入的发生某些错误(可能重复键值)的行数。 
    Flush_commands              执行FLUSH命令的次数。 
    Handler_delete              请求从一张表中删除行的次数。 
    Handler_read_first          请求读入表中第一行的次数。 
    Handler_read_key            请求数字基于键读行。 
    Handler_read_next           请求读入基于一个键的一行的次数。 
    Handler_read_rnd            请求读入基于一个固定位置的一行的次数。 
    Handler_update              请求更新表中一行的次数。 
    Handler_write               请求向表中插入一行的次数。 
    Key_blocks_used             用于关键字缓存的块的数量。 
    Key_read_requests           请求从缓存读入一个键值的次数。 
    Key_reads                   从磁盘物理读入一个键值的次数。 
    Key_write_requests          请求将一个关键字块写入缓存次数。 
    Key_writes                  将一个键值块物理写入磁盘的次数。 
    Max_used_connections        同时使用的连接的最大数目。 
    Not_flushed_key_blocks      在键缓存中已经改变但是还没被清空到磁盘上的键块。 
    Not_flushed_delayed_rows    在INSERT DELAY队列中等待写入的行的数量。 
    Open_tables                 打开表的数量。 
    Open_files                  打开文件的数量。 
    Open_streams                打开流的数量(主要用于日志记载) 
    Opened_tables               已经打开的表的数量。 
    Questions                   发往服务器的查询的数量。 
    Slow_queries                要花超过long_query_time时间的查询数量。 
    Threads_connected           当前打开的连接的数量。 
    Threads_running             不在睡眠的线程数量。 
    Uptime                      服务器工作了多少秒。
    
  4. 最大连接数

    show variables like "%max_connections%" 
    

11.设置server5.7一上密码长度

	set global validate_password_policy=0;
	set global validate_password_length=1;
	set global validate_password_mixed_case_count=2;
	SHOW VARIABLES LIKE 'validate_password%';
	flush privileges;
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值