zoukankan      html  css  js  c++  java
  • Mysql安装、查看密码、修改密码、初始化、修改字符类型

    安装mysql
    
    参照python篇一键安装lnmp。安装完之后再按照下面修改密码,修改配置文件,否则安装的时候就修改配置文件会出错。
    
    注意:这也是二进制安装mysql。另一种二进制安装容易出错,生产环境不要用rpm包安装,会出问题,测试过安装msyql不要改里面的字符类型,否则安装时候报错。等安装完后再修改
    
     
    
    2、查看初始化的密码:
    
     
    
    初始化mysql时生成的密码
    
    初始化mysql
    2018-11-27T07:28:39.407117Z 0 [Warning] TIMESTAMP with implicit DEFAULT value is deprecated. Please use --explicit_defaults_for_timestamp server option (see documentation for more details).
    2018-11-27T07:28:40.069251Z 0 [Warning] InnoDB: New log files created, LSN=45790
    2018-11-27T07:28:40.181277Z 0 [Warning] InnoDB: Creating foreign key constraint system tables.
    2018-11-27T07:28:40.194608Z 0 [Warning] No existing UUID has been found, so we assume that this is the first time that this server has been started. Generating a new UUID: 0fbb7543-f216-11e8-9f31-000c29c231f7.
    2018-11-27T07:28:40.195834Z 0 [Warning] Gtid table is not ready to be used. Table 'mysql.gtid_executed' cannot be opened.
    2018-11-27T07:28:40.197256Z 1 [Note] A temporary password is generated for root@localhost: 8YuFFueq4P!o
    
    8YuFFueq4P!o    就是密码
    
     
    
    3、重置为复杂密码
    
     
    
    3.1、配置免密登录 、重启mysql、登录mysql
    
     
    
    在[mysqld]下面添加skip-grant-tables
    
    [root@ecs-03 mysql]#service mysqld stop
    [root@ecs-03 mysql]# vi /etc/my.cnf 
    [mysqld]
    skip-grant-tables   #跳过密码
    
    重启数据库
    
    [root@ecs-03 mysql]# systemctl restart mysqld
    
    一条命令执行以上步骤如下
    
    systemctl stop mysqld && sed -i '/mysqld/a skip-grant-tables' /etc/my.cnf && systemctl restart mysqld
    
    
    登录数据库,下面直接回车 不用输入密码
    
    [root@ecs-03 mysql]# mysql -u root -p
    Enter password:
    
    [root@ecs-02 mysql]# mysql -u root -p
    Enter password: 
    Welcome to the MySQL monitor. Commands end with ; or g.
    Your MySQL connection id is 3
    Server version: 5.7.22 MySQL Community Server (GPL)
    
    Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
    
    Oracle is a registered trademark of Oracle Corporation and/or its
    affiliates. Other names may be trademarks of their respective
    owners.
    
    Type 'help;' or 'h' for help. Type 'c' to clear the current input statement.
    
    mysql>
    
     
    
    3.2、 修改root数据库账号密码方式一(推荐)
    
    修改当前用户为root
    
    mysql> use mysql;
    Reading table information for completion of table and column names
    You can turn off this feature to get a quicker startup with -A
    
    Database changed
    mysql> select host, user from user;
    +---------------+---------------+
    | host          | user          |
    +---------------+---------------+
    | %             | root          |
    | 192.168.0.%   | root          |
    | 192.168.0.1.% | root          |
    | localhost     | mysql.session |
    | localhost     | mysql.sys     |
    | localhost     | root          |
    +---------------+---------------+
    6 rows in set (0.00 sec)
    
    mysql> update user set host='%' where user='root';
    ERROR 1062 (23000): Duplicate entry '%-root' for key 'PRIMARY'  #不用管,没有影响,直接下一步
    mysql> flush privileges;
    Query OK, 0 rows affected (0.02 sec)
    
    重启数数据,否则不生效
    
    systemctl restart mysqld   #等操作完下面一起重启
    
    
    授予root用户给其他用户授权的权限
    
    update mysql.user set Grant_priv='Y' where User='root' and Host='%';
    
    flush privileges;(刷新权限)
    
    修改root密码、开启远程连接授权
    
    mysql> flush privileges;
    Query OK, 0 rows affected (0.02 sec)
    
    mysql> grant all privileges on *.* TO 'root'@'%' identified by 'jenkins@123' with grant option;
    Query OK, 0 rows affected, 1 warning (0.02 sec)
    mysql>grant all on *.* to root@'localhost' identified by 'jenkins@123' with grant option;
    mysql> alter user 'root'@'localhost' identified by 'jenkins@123';
    mysql> flush privileges;
    Mysql>exit
    
    修改后把kip-grant-tables注释掉重启mysql
    
    systemctl stop mysqld &&  sed -i 's/skip-grant-tables/#skip-grant-tables/g' /etc/my.cnf && systemctl restart mysqld
    
    
     
    
    
    3.3、修改root数据库账号密码方式二
    
     
    
    mysql> set password=password("youpassword");
    
    mysql> alter user 'root'@'localhost' identified by '123456';
    ERROR 1290 (HY000): The MySQL server is running with the --skip-grant-tables option so it cannot execute this statement
    
    报错不用管,接着输入下面
    
    mysql> FLUSH PRIVILEGES;
    Query OK, 0 rows affected (0.02 sec)
    
    mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' identified by 'zihao@666';
    Query OK, 0 rows affected, 1 warning (0.02 sec)
    mysql>grant all on *.* to root@'localhost' identified by 'zihao@666';
    mysql> alter user 'root'@'localhost' identified by 'zihao@666';
    mysql> FLUSH PRIVILEGES;
    
    修改后把kip-grant-tables注释掉重启mysql
    
    systemctl stop mysqld &&  sed -i 's/skip-grant-tables/#skip-grant-tables/g' /etc/my.cnf && systemctl restart mysqld
    
     
    
    3.4、用修改后的密码登录mysql
    
     
    
    [root@bogon local]# mysql -u root -pzihao@666
    mysql: [Warning] Using a password on the command line interface can be insecure.
    Welcome to the MySQL monitor.  Commands end with ; or g.
    Your MySQL connection id is 2
    Server version: 5.7.22-log MySQL Community Server (GPL)
    
    Copyright (c) 2000, 2018, Oracle and/or its affiliates. All rights reserved.
    
    Oracle is a registered trademark of Oracle Corporation and/or its
    affiliates. Other names may be trademarks of their respective
    owners.
    
    Type 'help;' or 'h' for help. Type 'c' to clear the current input statement.
    
    mysql> 
     
    
     
    
    4、重置为简单版密码
    
     
    
    4.1、配置免密登录 、重启mysql、登录mysql
    
     
    
    [root@ecs-03 mysql]# vi /etc/my.cnf
    
    删掉:kip-grant-tables ,
    添加:validate_password=off :可以修改成简单的密码
    
    然后重启:
    
    [mysqld]
    validate_password=off
    #skip-grant-tables
    
     
    
    4.2、修改root数据库账号密码同上
    
     
    
    5、修改字符为utf8mb4
    
     
    
    安装完成后需要修改字符满足生产需求,之前公司就是总是出现乱码,后来改成utf8mb4问题解决
    
    临时修改
    
    mysql>show variables like 'character%';
    
    mysql>set character_set_database=utf8mb4;
    
    mysql>set character_set_server=utf8mb4;
    
    永久修改
    
    systemctl stop mysqld && sed -i -e 's/character-set-server = utf8/character-set-server = utf8mb4/g' -e '/client/ adefault-character-set = utf8mb4' -e '$adefault-character-set = utf8mb4' /etc/my.cnf && systemctl start mysqld
    
    注意:character_set_database=utf8mb4 这句话不要写到配置文件里面,否则启动报错
    
    要达到的效果
    
    mysql> show variables like 'character%';
    +--------------------------+----------------------------------+
    | Variable_name | Value |
    +--------------------------+----------------------------------+
    | character_set_client | utf8mb4 |
    | character_set_connection | utf8mb4 |
    | character_set_database | utf8mb4 |
    | character_set_filesystem | binary |
    | character_set_results | utf8mb4 |
    | character_set_server | utf8mb4 |
    | character_set_system | utf8 |
    | character_sets_dir | /usr/local/mysql/share/charsets/ |
    +--------------------------+----------------------------------+
    8 rows in set (0.01 sec)
    
     
     
  • 相关阅读:
    c语言结构体数组引用
    c语言结构体数组定义的三种方式
    如何为SAP WebIDE开发扩展(Extension),并部署到SAP云平台上
    SAP SRM ABAP Webdynpro和CFCA usb key集成的一个原型开发
    使用SAP API portal进行SAP SuccessFactors的API测试
    SAP UI5应用里的页面路由处理
    在SAP WebIDE Database Explorer里操作hdi实例
    如何使用SAP事务码SAT进行UI应用的性能分析
    使用SAP WebIDE进行SAP Cloud Platform Business Application开发
    SAP CRM WebClient UI ON_NEW_FOCUS的用途
  • 原文地址:https://www.cnblogs.com/effortsing/p/10006671.html
Copyright © 2011-2022 走看看