mysql(3.查漏补缺---有关各种基础配置)

一、有关登录,设置密码

    1.  初始状态下,管理员 root,密码为空,默认值只允许从本机登录localhost

             mysql -u root -p 用这个就可以登录,但是省略了他的IP和端口号

     mysql -u root -p  -h默认本机ip -P默认3306

2.设置密码


mysqladmin -uroot password 123 设置初始密码为空,因此-p可以不用 如下:

再次登录的时候就需要密码了
3.修改密码        

修改的时候需要退出以后再进行

mysqladmin -u root -p123 password 456 修改密码,因为之前有密码,所以必须输入原密码才能设置新密码
如下:

PS:修改密码的时候不要加引号

4.忘记密码

linux平台下破解密码的两种方式

方式一:删除授权库mysql,重新初始化

# rm -rf /var/lib/mysql/mysql #所有授权信息全部丢失!!!
# systemctl restart mariadb
# mysql

方式二:删除授权库mysql,重新初始化

# vim /etc/my.cnf #mysql主配置文件
[mysqld]
skip-grant-table
# systemctl restart mariadb
# mysql
MariaDB [(none)]> update mysql.user set password=password("123") where user="root" and host="localhost";
MariaDB [(none)]> flush privileges;
MariaDB [(none)]> q
#打开/etc/my.cnf去掉skip-grant-table,然后重启
# systemctl restart mariadb
# mysql -u root -p123 #以新密码登录

windows下,5.7版本mysql,破解密码的两种方式:

方式一:

    1.首先关闭mysql

    2. mysqld --skip-grant-tables 跳过授权表启动mysqld

    3.再打开另一个终端(cmd)输入mysql就可以进入。然后去修改他的密码
   update mysql.user set authentication_string=password('') where user='root' and host='localhost';
  4. flush privileges;

    5.taskill mysqld 或 taskill -f /PID 7832/或quit 让他退出
    6.重新启动mysql



方式二:

1.关闭mysql,可以用tskill mysqld将其杀死
2.在解压目录下,新建mysql配置文件my.ini
3.my.ini内容,指定
[mysqld] skip -grant-tables
4.启动mysqld
5.在cmd里直接输入mysql登录,然后操作

update mysql.user set authentication_string=password('') where user='root' and host='localhost';
flush privileges;

6.注释my.ini 中的skip-grant-tables,然后启动mysqld,然后就可以以新密码登录了

二 、有关配置文件和字符编码

    1.在windows下,为mysql服务指定配置文件

        

           ps:配置文件中的注释可以有中文,但是配置项中不能出现中文  

 

#在mysql的解压目录下,新建my.ini,然后配置
#1. 在执行mysqld命令时,下列配置会生效,即mysql服务启动时生效
[mysqld]
;skip-grant-tables
port=3306
character_set_server=utf8
default-storage-engine=innodb
innodb_file_per_table=1


#解压的目录
basedir=E:mysql-5.7.19-winx64
#data目录
datadir=E:my_data #在mysqld --initialize时,就会将初始数据存入此处指定的目录,在初始化之后,启动mysql时,就会去这个目录里找数据



#2. 针对客户端命令的全局配置,当mysql客户端命令执行时,下列配置生效
[client]
port=3306
default-character-set=utf8
user=root
password=123

#3. 只针对mysql这个客户端的配置,2中的是全局配置,而此处的则是只针对mysql这个命令的局部配置
[mysql]
;port=3306
;default-character-set=utf8
user=egon
password=4573


#!!!如果没有[mysql],则用户在执行mysql命令时的配置以[client]为准
my.ini

          2.统一字符编码

       

#1. 修改配置文件
[mysqld]
default-character-set=utf8 
[client]
default-character-set=utf8 
[mysql]
default-character-set=utf8

#mysql5.5以上:修改方式有所改动
[mysqld]
character-set-server=utf8
collation-server=utf8_general_ci
[client]
default-character-set=utf8
[mysql]
default-character-set=utf8

#2. 重启服务
#3. 查看修改结果:
s
show variables like '%char%'
View Code

          

      

 

原文地址:https://www.cnblogs.com/1996-11-01-614lb/p/8044100.html