Linux開發——Mysql服務(二)日常操作和部分故障解決辦法

日常操作

授權後遠端無法訪問解決辦法

無法中文保存解決方法

忘記密碼怎麼辦


日常操作

修改密碼:mysqladmin -u root -p password 123   回車後輸入原來的密碼

查看創建表語句                       show create table user;

查看某個表有多少字段             desc user;

查看一個表中有多少行             select count(*) from user;

查看一個表的前多少行             select * from user limit 2;

將一箇舊的表名命名成一個新的表名,alter table user rename users;

刪除一個表                                drop table user;

將什麼權限,那個數據庫,那個表 授權用戶的連接地址 和密碼(遠程訪問授權)設置完成後需要 flush privileges; 命令刷新權限

grant all on test.* to root@'192.168.10.110' identified by '1';

mysql遠程登錄命令: mysql -h192.168.10.127 -uroot -p1

在mysql數據庫中修改用戶名密碼,user表,如下

update user set authentication_string=password('123'),user='wd' where host='192.168.10.110';

修改用戶名稱後,需要從新給用戶加權限

修改某個表的編碼格式:alter table user default character set utf8;

修改某個表的某個字段的編碼格式  且不爲空:

          alter table info change value value varchar(10) character set utf8 not null;

數據庫備份:mysqldump -uroot -p test>/home/wd/projects/haha.sql  輸入密碼 備份完成

刪除數據庫:drop database test;

創建數據庫並指定編碼格式:create database test charset=utf8;

數據庫恢復:

方法一:創建數據庫test,退出執行,mysql -uroot -p test<haha.sql 

方法二:進入mysql 創建數據庫test,use test; 然後source haha.sql; 執行語句

授權後遠端無法訪問解決辦法

1.檢查端口是否開發:netstat -an|grep 3306  如下圖則未打開其他地址連接

2.打開配置文件:vim /etc/mysql/mysql.conf.d/mysqld.cnf

確定端口爲3306,或者其他,註釋掉bind-address 地址綁定

3.這一步可以不操作,查看mysql表user的權限,如下圖權限已經添加。可以將host修改爲%,則來自所有地址的root用戶都可以連接,很危險,不推薦。

4.重啓服務器。service mysql restart

   查看3306端口連接狀態,如下圖連接已允許我上面grant授權的地址使用。

提示:如果使用Navicat等工具連接會報錯,但不用理會,它們默認掃描所有數據庫,但我只開放了test數據庫的授權,將錯誤插掉。以後登錄就不在提示了。

無法中文保存解決方法

查看數據庫支持編碼格式命令:show variables like '%char%';

1.打開文件vim /etc/mysql/mysql.conf.d/mysqld.cnf  修改參數[mysqld],在它的下面添加一條character-set-server=utf8,重啓服務再建數據庫就可以使用中文了。

或者設置

    set character_set_server=utf8;
    set character_set_database=utf8;

2.建表的時候在最後面添加 字符集選項   default charset=utf8

create table analysis(city varchar(20),companySize varchar(20),education varchar(20))default charset=utf8;

忘記密碼怎麼辦

關閉mysql:/etc/init.d/mysql stop

1.執行下面命令,跳過權限表

/usr/bin/mysqld_safe --user=mysql --skip-grant-tables &

如果不成功:執行這兩條命令,後執行上面這條命令

          mkdir -p /var/run/mysqld
          chown mysql:mysql /var/run/mysqld

執行成功後直接執行   mysql   可以直接進入數據庫

用上文提到的修改mysql庫的用戶密碼方法修改密碼。

quit 退出後,懶的話就重啓電腦,不懶就用下面的方法殺死進程後重啓服務

         查看進程命令: ps -ef |grep safe

         殺死進程命令:kill -9 pid;       pid爲上面查看到的進程id

         重啓服務:/etc/init.d/mysql start

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章