mysql配置讲解:+密码重置+远程登陆+常规操作+备份与恢复+字符

(1)Mysql配置文件

[root@yiqiang ~]# vim /etc/my.cnf

常用的配置 [mysqld]

[root@yiqiang ~]# mysql -uroot

mysql> show variables;


mysql> SHOW STATUS LIKE 'key_read%'
    -> ;

会显示个格子,此令如同下,等同下面 令,

mysql> SHOW STATUS LIKE 'key_read%'


 key_buffer_size  首先可以根据系统的内存大小设定它,大概的一个参考值:1G以下内存设定128M;2G/256M; 4G/384M;8G/1024M;16G/2048M.这个值可以通过检查状态值Key_read_requests和 Key_reads,可以知道key_buffer_size设置是否合理。比例key_reads / key_read_requests应该尽可能的低,至少是1:100,1:1000更好(上述状态值可以使用SHOW STATUS LIKE ‘key_read%’获得)。注意:该参数值设置的过大反而会是服务器整体效率降低!

mysql>quit 

[root@yiqiang ~]# vim /etc/my.cnf

配置 [mysqld]

[mysqld]
port            = 3306
socket          = /tmp/mysql.sock
skip-locking
key_buffer_size = 256M
max_allowed_packet = 1M
table_open_cache = 256
sort_buffer_size = 1M
read_buffer_size = 1M
read_rnd_buffer_size = 4M
myisam_sort_buffer_size = 64M
thread_cache_size = 8
query_cache_size= 16M
# Try number of CPU's*2 for thread_concurrency
thread_concurrency = 8
interactive_timeout = 8
wait_timeout = 8
long_query_time = 1
log_slow_queries = /data/mysql/slow.log

按:wq保存退出


(2)3.1 mysql的root密码重置

设置mysql密码
[root@yiqiang ~]# mysqladmin -uroot password 'haoyiyide.com'
就需要密码登陆
[root@yiqiang ~]# mysql -uroot -phaoyiyide.com

完成mysql密码设置!

--------------------------------------------------------------------------------------------------------------
重置mysql密码
[root@yiqiang ~]# vim /etc/my.cnf
在[mysqld]加入一条;不去授权密码登陆

skip-grant

按:wq保存退出,如有误,则检查如下写法,是否有错误   5.1版本以后则skip-grant-tables因为新版本不一样
thread_concurrency = 8
interactive_timeout = 8
wait_timeout = 8
long_query_time = 1
log_slow_queries = /data/mysql/slow.log
skip-grant


[root@yiqiang ~]# vim /etc/my.cnf  编辑配置文件
[root@yiqiang ~]# /etc/init.d/mysqld restart  重启动Mysql

如有误,则检查如下写法,是否有错误   5.1版本以后则skip-grant-tables因为新版本不一样

完成密码不去受权登陆!

----------------------------------------------------------------------------------------------------------


[root@yiqiang ~]# mysql            进入mysql

mysql> use mysql;   #使用其中一个库
No connection. Trying to reconnect...
Connection id:    13
Current database: *** NONE ***
Database changed

mysql>
            

mysql> update user set password=password('dubingyu.com') where user ='root'; 设置的密码

ERROR 2006 (HY000): MySQL server has gone away
No connection. Trying to reconnect...
Connection id:    4
Current database: mysql
Query OK,
3 rows affected (0.01 sec)
Rows matched: 3  
Changed: 3  Warnings: 0


mysql> select * from user where user='root'\G;     查看表的更改

Host: localhost
                 User: root
             Password: *DCCD3DAF8D60DD3EC02F8E8BA7689632F41B90FC
          Select_priv: Y
          Insert_priv: Y
          Update_priv: Y
          Delete_priv: Y
          Create_priv: Y

.

.

.

.

[root@yiqiang ~]# vim /etc/my.cnf  编辑配置文件
删掉 skip-grant 这个行
[root@yiqiang ~]# /etc/init.d/mysqld restart   重启动

完成密码重置!

-------------------------------------------------------------------------------------------------------------
[root@yiqiang ~]# mysql -uroot -pdubingyu.com  在登陆需要用密码登陆

再次重置mysql密码成功。
-------------------------------------------------------------------------------------------------------------------

(3)3.2 mysql账户登陆


[root@yiqiang ~]# mysql -uroot -pdubingyu.com  本地用来登陆方法。

[root@yiqiang ~]# mysql -uroot -h127.0.0.1 -P3306 -pdubingyu.com  远程登陆格式

[root@yiqiang ~]# mysql -uroot -h192.168.1.128 -P3306 -pdubingyu.com

ERROR 1130 (HY000): Host '192.168.1.128' is not allowed to connect to this MySQL server #表示未授权


[root@yiqiang ~]# telnet 127.0.0.1 3306  测试端口是否开通 ,查看是否授权

--------------------------------------------------------------------------------------------------------------

mysql>
mysql> grant all on *.* to 'root'@'192.168.1.106' identified by '123aaa';  需要授权,到mysql上去
mysql> use mysql
mysql> select * from user where host='192.168.1.106'\G;    #查看是否生效。

*************************** 1. row ***************************
                 Host: 192.168.1.128
                 User: root
             Password: *DCCD3DAF8D60DD3EC02F8E8BA7689632F41B90FC
          Select_priv: Y
          Insert_priv: Y


---------------------------------------------------------------------------------------------------
[root@yiqiang ~]# mysql -uroot -h192.168.1.106 -P3306 -p123aaa   远程登陆,Ok了
mysql> select user();  查看当前登陆有谁

+--------------------+
| user()             |
+--------------------+
| root@192.168.1.128 |    ¥#这里显示当前登陆的用户
+--------------------+
1 row in set (0.00 sec)
mysql> 

-----------------------------------------------------------------------------------------------------------

当有多个mysql的时候,可以用scok登陆。
[root@yiqiang ~]# mysql -uroot -S /tmp/mysql.scok -p  本地登陆,另外一种形式,必须有多个mysql
Enter password:

-------------------------------------------------------------------------------------------------------






(4)3.3 mysql常用操作-1
[root@yiqiang ~]# mysql -uroot -pdubingyu.com
 mysql> show databases;             查看库
 
 mysql> use mysql                   切换库
       mysql>  use discuz
                mysql> select database();        查看在哪个库下,当前库下
 mysql> select user();   查看当前登陆有谁,用户
 mysql> select version(); 查看mysql版本号
mysql>quit
       mysql>use discuz      
mysql>show tables;    查看有哪些表
mysql>mysql> desc pre_ucenter_vars;  查看表有哪些行,哪些包含字段
mysql> show create table  pre_ucenter_vars\G;  查看表怎么创建的
mysql> show create table  pre_forum_filter_post\G;

mysql>desc   查看表一个表例如:
mysql> desc pre_forum_post;

mysql> 库 --->表 ---->行---->字段

--------------------------------------------------------------------------------------------------------------------------------------------

mysql>create database aming; 创建aming库  databases:数据库
mysql>use aming;         进入到aming库里面。  然后再 创建
table:表 创建tb1表

mysql> create table tb1 (`id` int(4), `name` char(40)) ENGINE=MyISAM DEFAULT CHARSET=gbk;  创建一个表,重点!!!
      创建表名 tb1 (`id` 长度(4位), `名字` 格式(长度40)) 指定ENGINE= 字符集=gbk;
                                                                           

mymysql>desc tb1;  查看

 sql>show create table tb1\G;  查看 表tb1表    
 mysql> insert into tb1 values(1, 'aming');  表里插入数据
 mysql> select * from tb1;  查看表
mysql> insert into tb1 values(2, 'linux');  继续插入
 mysql> select * from tb1;  查看表
mysql> insert into tb1 (`id`) values(2); 继续建立第三个,插入小字段
 mysql> select * from tb1;  查看表
mysql> insert into tb1 (`id`) values(4);   继续建立第四个,插入小字段
mysql> insert into tb1 (`name`) values('55');
mysql> insert into tb1 (`name`,`id`) values('55',6); 反过来定义表
mysql> update tb1 set id=5 where name = '55';        建立好表后,更新数据
mysql> delete from tb1 where name='55';  删除 行 带55的 删除指定的行
mysql> truncate table aming.tb1          清空 库   #truncate table 库名&表名
  select * from tb1; 查看tb1表
mysql> drop table tb1; 删除表
mysql>drop database aming; 删除库
mysql> show databases;    查看库,发现没有 aming库了
mysql>



(5)mysql 备份与恢复

[root@yiqiang ~]# mysqldump -uroot -pdubingyu.com discuz   不用备份,可以先查看。
[root@yiqiang ~]# mysqldump -uroot -pdubingyu.com discuz > /data/discuz.sql  备份到/data/discuz.sql

--------------------------------------------------------------

可以查看备份的内容,编辑它。 有发的帖子内容。

#vim /data/discuz.sql

一般模式下:   /post

/pre_forum_post 这个是发帖子的内容

LOCK TABLES `pre_forum_post` WRITE;

----------------------------------------------------------------------------------------------------
[root@yiqiang ~]# cd /data

[root@yiqiang data]# ls
[root@yiqiang data]# cd /data/mysql/discuz  mysql表存放地方
[root@yiqiang data]#ls 表和库存放地方,每个表有三个名字文件,mysql表结构
[root@yiqiang discuz]# rm -fr pre_forum_post*  不小心把post表删除了
[root@yiqiang discuz]# /etc/init.d/mysqld restart  重启动
页面就显示不到了,帖子块就显示不正常了
[root@yiqiang discuz]# tail /data/mysql/yiqiang.err 错误日志 ,查看 地址 不显示原因


[root@yiqiang discuz]# mysql -uroot -pdubingyu.com discuz < /data/discuz.sql  恢复mysql的
[root@yiqiang discuz]# /etc/init.d/mysqld restart  重启动
页面就显示好了,帖子块就显示正常了


备份
与恢复
# mysqldump -uroot -pdubingyu.com discuz > /data/discuz.sql
# mysql -uroot -pdubingyu.com discuz < /data/discuz.sql
就这俩个命令ok了。
-----------------------------------------------------------------------------------------------------------------
[root@yiqiang discuz]# mysqldump -uroot -pdubingyu.com discuz pre_forum_post >  /data/post.sql 

单独备份一个post表
[root@yiqiang discuz]# rm -fr pre_forum_post*  不小心把post表删除了
[root@yiqiang discuz]# /etc/init.d/mysqld restart  重启动
[root@yiqiang discuz]# mysql -uroot -pdubingyu.com discuz < /data/post.sql  恢复mysql的时候,不需要加表名
[root@yiqiang discuz]# /etc/init.d/mysqld restart
-------------------------------------------------------------------------------------------------------------------------
字符集,gbk 中文   utf8中日英   latin
没指定字符集恢复时会出现乱码情况。 
[root@yiqiang discuz]# mysqldump -uroot --default-character-set=gbk -pdubingyu.com discuz pre_forum_post >  /data/post.sql   备份
[root@yiqiang discuz]# mysql -uroot --default-character-set=gbk -pdubingyu.com discuz < /data/post.sql  恢复














  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
YOLO高分设计资源源码,详情请查看资源内容中使用说明 YOLO高分设计资源源码,详情请查看资源内容中使用说明 YOLO高分设计资源源码,详情请查看资源内容中使用说明 YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明YOLO高分设计资源源码,详情请查看资源内容中使用说明

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值