centos7用瑪利亞mariadb資料庫遇到的所有問題搜了一堆...
安裝mysql的作者另起爐灶的開源版本:maria DB
(maria DB如同 MySQL 的影子版本,瑪莉亞資料庫是 MySQL 的一個分支版本(branch),而不是衍生版本(folk),提供的功能可和 MySQL 完全相容)。
1.安裝:
yum install -y mariadb-server
2.啟動maria DB服務:
systemctl start mariadb.service
(說明:CentOS 7.x開始,CentOS開始使用systemd服務來代替daemon,原來管理系統啟動和管理系統服務的相關命令全部由systemctl命令來代替。)
3.新增至開機自啟動:
systemctl enable mariadb.service
centos7自帶資料庫MariaDB重啟和修改密碼
1:MariaDB和mysql差不多是mysql的一個分支,完全相容mysql的命令。
2:centos 7 中自帶MariaDB, 需要在centos中安裝mysql的時候就需要多注意了。
3:啟動 停止 重啟 MariaDB
systemctl start mariadb.service #啟動MariaDB
systemctl stop mariadb.service #停止MariaDB
systemctl restart mariadb.service #重啟MariaDB
systemctl enable mariadb.service #設定開機啟動
4:如果忘記了MariaDB root密碼怎麼辦呢?
1. KILL掉系統裡的MySQL程序;
2. 用以下命令啟動MySQL,以不檢查許可權的方式啟動;
mysqld_safe -skip-grant-tables &
或是
修改/etc/my.cnf檔案,在[mysqld]下新增 skip-grant-tables , 再啟動mysql
3. 然後用空密碼方式使用root使用者登入 MySQL;
mysql -u root
4. 修改root使用者的密碼;
mysql> update mysql.user set password=PASSWORD('新密碼') where User='root'
mysql> flush privileges;
mysql> quit
5. 重新啟動MySQL,就可以使用新密碼登入了。
6. 改完密碼別忘記刪除配置檔案中的 skip-grant-tables
5:普通修改MariaDB的密碼,則和上一步一樣,不用修改配置檔案,登入MySQL 就行
6:普通重啟mysql和啟動mysql
啟動: /usr/local/mysql/bin/mysqld_safe -user=mysql &
停止:/usr/local/mysql/bin/mysqladmin -uroot -p shutdown
簡單配置
安裝完成MariaDB,首先啟動MariaDB,兩條命令都可以
systemctl start mariadb
#service mariadb start
設定開機啟動
systemctl enable mariadb
#chkconfig mariadb on
接下來進行MariaDB的相關簡單配置
mysql_secure_installation
首先是設定密碼,會提示先輸入密碼
Enter current password for root (enter for none):<–初次執行直接回車
設定密碼
Set root password? [Y/n] <– 是否設定root使用者密碼,輸入y並回車或直接回車
New password: <– 設定root使用者的密碼
Re-enter new password: <– 再輸入一次你設定的密碼
其他配置
Remove anonymous users? [Y/n] <– 是否刪除匿名使用者,回車
Disallow root login remotely? [Y/n] <–是否禁止root遠端登入,回車,
Remove test database and access to it? [Y/n] <– 是否刪除test資料庫,回車
Reload privilege tables now? [Y/n] <– 是否重新載入許可權表,回車
初始化MariaDB完成,接下來測試登入
mysql -uroot -ppassword
完成。
2、配置MariaDB的字符集
檔案/etc/my.cnf
vi /etc/my.cnf
在[mysqld]標籤下新增
init_connect='SET collation_connection = utf8_unicode_ci'
init_connect='SET NAMES utf8'
character-set-server=utf8
collation-server=utf8_unicode_ci
skip-character-set-client-handshake
檔案/etc/my.cnf.d/client.cnf
vi /etc/my.cnf.d/client.cnf
在[client]中新增
default-character-set=utf8
檔案/etc/my.cnf.d/mysql-clients.cnf
vi /etc/my.cnf.d/mysql-clients.cnf
在[mysql]中新增
default-character-set=utf8
全部配置完成,重啟mariadb
systemctl restart mariadb
之後進入MariaDB檢視字符集
mysql> show variables like "%character%";show variables like "%collation%";
顯示為
+--------------------------+----------------------------+
| Variable_name | Value |
+--------------------------+----------------------------+
| character_set_client | utf8 |
| character_set_connection | utf8 |
| character_set_database | utf8 |
| character_set_filesystem | binary |
| character_set_results | utf8 |
| character_set_server | utf8 |
| character_set_system | utf8 |
| character_sets_dir | /usr/share/mysql/charsets/ |
+--------------------------+----------------------------+
8 rows in set (0.00 sec)
+----------------------+-----------------+
| Variable_name | Value |
+----------------------+-----------------+
| collation_connection | utf8_unicode_ci |
| collation_database | utf8_unicode_ci |
| collation_server | utf8_unicode_ci |
+----------------------+-----------------+
3 rows in set (0.00 sec)
字符集配置完成。
3、新增使用者,設定許可權
建立使用者命令
mysql>create user [email protected] identified by 'password';
直接建立使用者並授權的命令
mysql>grant all on *.* to [email protected] indentified by 'password';
授予外網登陸許可權
mysql>grant all privileges on *.* to [email protected]'%' identified by 'password';
授予許可權並且可以授權
mysql>grant all privileges on *.* to [email protected]'hostname' identified by 'password' with grant option;
簡單的使用者和許可權配置基本就這樣了。
其中只授予部分許可權把 其中 all privileges或者all改為select,insert,update,delete,create,drop,index,alter,grant,references,reload,shutdown,process,file其中一部分。
Linux系統教程:如何檢查MariaDB服務端版本 http://www.linuxidc.com/Linux/2015-08/122382.htm
MariaDB Proxy讀寫分離的實現 http://www.linuxidc.com/Linux/2014-05/101306.htm
Linux下編譯安裝配置MariaDB資料庫的方法 http://www.linuxidc.com/Linux/2014-11/109049.htm
CentOS系統使用yum安裝MariaDB資料庫 http://www.linuxidc.com/Linux/2014-11/109048.htm
安裝MariaDB與MySQL並存 http://www.linuxidc.com/Linux/2014-11/109047.htm
Ubuntu 上如何將 MySQL 5.5 資料庫遷移到 MariaDB 10 http://www.linuxidc.com/Linux/2014-11/109471.htm
[翻譯]Ubuntu 14.04 (Trusty) Server 安裝 MariaDB http://www.linuxidc.com/Linux/2014-12/110048htm
MariaDB 的詳細介紹:請點這裡
MariaDB 的下載地址:請點這裡
使用以下命令列刪除賬戶:
delete from user where user='賬戶名';
1
出現:
ERROR 1046 (3D000): No database selected
1
因為是直接使用 SQL 語句的方式來刪除賬戶,所以必須先選擇 mysql 自身的資料庫:
use mysql;
---------------------
作者:deniro_li
來源:CSDN
原文:https://blog.csdn.net/deniro_li/article/details/79526754
版權宣告:本文為博主原創文章,轉載請附上博文連結!
mysql遠端連線 Host * is not allowed to connect to this MySQL server
2018年07月31日 14:36:22 希望之光芒 閱讀數:714更多
個人分類: mysql
在本機登入mysql後,更改"mysql"資料庫裡的"user"表裡的"host"項,從"localhost"改為'%'。
程式碼如下
mysql>
mysql>use mysql;
mysql>select 'host' from user where user='root';
#檢視mysql庫中的user表的host值(即可進行連線訪問的主機/IP名稱)
先說說這個錯誤,其實就是我們的MySQL不允許遠端登入,所以遠端登入失敗了,解決方法如下:
- 在裝有MySQL的機器上登入MySQL mysql -u root -p密碼
- 執行
use mysql;
- 執行
update user set host = '%' where user = 'root';
這一句執行完可能會報錯,不用管它。 -
執行
FLUSH PRIVILEGES;
經過上面4步,就可以解決這個問題了。
注: 第四步是重新整理MySQL的許可權相關表,一定不要忘了,我第一次的時候沒有執行第四步,結果一直不成功,最後才找到這個原因。