[root@localhost bin]# systemctl stop mysqld.service //先关闭MySQL数据库
[root@localhost bin]# netstat -ntap | grep 3306 //查看一下监听端口
[root@localhost bin]# vim /etc/my.cnf //修改MySQL配置文件
在[mysqld]项插入 skip-grant-tables //插入skip-grant-tables 跳过验证表
[root@localhost bin]# systemctl start mysqld.service //开启MySQL数据库
[root@localhost bin]# netstat -ntap | grep 3306 //查看监听端口
登录 mysql //然后直接mysql 就能登录到数据库中
update mysql.user set authentication_string = password('123123') where user='root'; //更新数据库信息 将root密码改为123123
退出quit
[root@localhost bin]# vim /etc/my.cnf //然后再进入配置文件将刚才的skip-grant-tables删掉
删除 skip-grant-tables
[root@localhost bin]# systemctl restart mysqld.service //重启服务
[root@localhost bin]# mysql -uroot -p //账号、密码登录MySQL
Enter password: 123123
grant select,update on . to 'user01"@"localhost' identified by '123123'; //给用户user01授予任意库,组的select、update权限
语法:revoke 权限 on数据库.表 from 用户@主机;
revoke updtae on . from ‘user01’@’localhost’; //撤销用户user01任意库,组的的updta的权限
show grants for "user01'@'localhost'; // 查看用户权限
[root@localhost bin]# cd /usr/local/mysql/data/ //mysql日志存放位置
[root@localhost bin]# vim /etc/my.cnf // 将以下内容插入到[mysqld]中:
#错误日志
log-error=/usr/local/mysql/data/mysql_error.log //在此路径下定义错误日志的存放位置、文件名
#通用日志
general_log=ON //开启
general_log_file=/usr/local/mysql/data/mysql_general.log //指定日志文件存放位置、文件名
#二进制日志(记录用户对数据库的操作)
log_bin=mysql-bin //指定二进制日志
#慢日志
slow_query_log=ON //开启
slow_query_log_file=mysql_slow_query.log //指定日志文件存放位置、文件名
long_query_time=1 //设置最长记录时间
1.主要记录当MySQL启动或停止时,以及在运行过程中发生任何错误时的相关信息。错误日志默认保存在MySQL的安装路径data文件夹下,后缀名是.err。
2.在MySQL的配置文件中,可以指定日志文件的保存位置和日志的文件名。log-error=file_name选项来指定保存错误日志的位置,file_name 指定日志文件名,如果没有指定文件名,使用host_name.err作为文件名。重启MySQL后生成mysql_error.log用来记录错误日志。
1.通用查询日志用来记录MySQL的所有连接和语句,默认是关闭的。使用show语句可以查询出日志的信息。
2.修改MySQL配置文件的general_log=ON选项,可以打开通用查询日志,general_log_file=name定义通用查询日志的位置,如果没有指定file_named的值,默认名是host_name.log。重启MySQL后通用查询日志生效。
show variables like 'general%'; //查看通用日志文件状态:
1.二进制日志用来记录所有更新了数据或者已经潜在更新了数据的语句,记录了数据的更改,主要目的是在恢复数据时能够最大程度的恢复数据库。二进制日志默认是开启的,在data文件夹下,以mysql-bin命名,数据量大时,它会自动分割成多个日志文件,以数字做扩展名。
2.二进制日志可以使用MySQL的工具mysqlbinlog查看二进制文件:
mysqlbinlog --no-defaults mysql-bin.000001 //5.7版本MySQL 查看二进制日志文件
show variables like 'log_bin%'; //查看二进制日志文件状态(是否开启):
1.慢查询日志记录所有执行时间超过long_query_time秒的SQL语句,用于找到哪些查询语句执行时间长,以便对其进行优化。默认慢查询日志是关闭的,slow_query_log是,慢查询的选项,默认是OFF。
2.使用SQL语句开启慢查询功能。
3.慢查询时间设置默认为10秒,记录10秒内的查询,可以通过global long_query_time选项进行修改。使用show语句查看慢查询日志。
show variables like '%slow%'; //查看慢查询日志文件状态(是否开启):
show variables like 'long_query_time'; //查看最长记录时间:
set global slow_query_log=ON; //开启慢查询日志:
慢查询测试:select sleep(6); //延迟6秒:
[root@localhost data]# vim mysql_slow_query.log //进入慢日志文件查看记录信息,可以看到相应的记录。
1.服务器系统字符设置问题
2.数据表语系设置的问题
3.客户端连接语系的问题
总结:乱码问题原因简单解释就是 在使用、存储数据的时候,各个环节设置的字符集如果不同,就会产生乱码。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。