linux下安装Mysql(干货!!!)解决mysql 1130问题,远程登录问题
轉載自:http://www.cnblogs.com/xxoome/p/5864912.html
linux版本:CentOS7 64位
? ? 1、下載安裝包“mysql-5.6.33-linux-glibc2.5-x86_64.tar.gz” ? ?
# 安裝依賴 yum -y install perl perl-devel autoconf libaio? ? 2、把下載的安裝包移動到/usr/local/下。
? ? 3、解壓
tar zxvf mysql-5.6.33-linux-glibc2.5-x86_64.tar.gz??? 4、復制解壓后的mysql目錄到系統的本地軟件目錄
cp mysql-5.6.33-linux-glibc2.5-x86_64 /usr/local/mysql -r? ? 5、添加系統mysql組和mysql用戶
groupadd mysqluseradd -r -g mysql -s /bin/false mysql 注意:Because the user is required only for ownership purposes, not login purposes, the useradd command uses the -r and -s /bin/false options to create a user that does not have login permissions to your server host. Omit these options if your useradd does not support them.
? ? 6、進入安裝mysql軟件目錄,修改目錄擁有者為mysql用戶
cd mysql/chown -R mysql:mysql ./
? ? 7、安裝數據庫,此處可能出現錯誤。
./scripts/mysql_install_db --user=mysql? ? FATAL ERROR: please install the following Perl modules before executing scripts/mysql_install_db:
? ? Data::Dumper
yum install -y perl-Data-Dumper
? ? 8、修改當前目錄擁有者為root用戶
chown -R root:root ./? ? 9、修改當前data目錄擁有者為mysql用戶
chown -R mysql:mysql data==============?到此數據庫安裝完畢?=============
? ? 10、添加mysql服務開機自啟動
添加開機啟動,把啟動腳本放到開機初始化目錄。
cp support-files/mysql.server /etc/init.d/mysql # 賦予可執行權限 chmod +x /etc/init.d/mysql # 添加服務 chkconfig --add mysql # 顯示服務列表 chkconfig --list如果看到mysql的服務,并且3,4,5都是on的話則成功,如果是off,則執行
chkconfig --level 345 mysql on? ? 11、啟動mysql服務
#創建缺少的文件夾mkdir /var/log/mariadb
service mysql start
正常提示信息:Starting MySQL. SUCCESS!
?
? ? ?12、把mysql客戶端放到默認路徑
ln -s /usr/local/mysql/bin/mysql /usr/local/bin/mysql注意:建議使用軟鏈過去,不要直接包文件復制,便于系統安裝多個版本的mysql
=================== 這是分割線 ==================
通過使用 mysql -uroot -p 連接數據庫(默認數據庫的root用戶沒有密碼,這個需要設置一個密碼)。
錯誤信息:ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (2)
解決方法:打開/etc/my.cnf,看看里面配置的socket位置是什么目錄。“socket=/var/lib/mysql/mysql.sock”
路徑和“/tmp/mysql.sock”不一致。建立一個軟連接:ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock
?到這里任務算是完成了。之后就可以創建數據庫用戶,然后使用數據庫了。
?
###################### 分割線 ######################
權限控制
1、去除匿名用戶
# 測試匿名用戶登錄 mysql -ux3可以看到匿名用戶可以登錄,具有information_schema和test庫的相關權限。
# 刪除匿名用戶,使用root用戶登錄數據庫 delete from mysql.user where User='';flush privileges;
?
再次測試匿名用戶登錄
?
?
常見錯誤解決:
錯誤
mysql連接時,報1130錯誤,是由于沒有給遠程連接的用戶權限問題
解決1:更改 ‘mysql’數據庫‘user’表‘host’項,從‘localhost’改成‘%’。(重要:執行
update user set host = '%' where user ='root';時,會報錯:ERROR 1062 (23000): Duplicate entry '%-root' for key 'PRIMARY'
但無需理會,繼續flush;接著會發現問題已解決額
)
use mysql; select 'host' from user where user='root'; update user set host = '%' where user ='root'; flush privileges;解決2:直接授權
GRANT ALL PRIVILEGES ON *.* TO ‘root’@'%’ IDENTIFIED BY ‘youpassword’ WITH GRANT OPTION;
轉載于:https://www.cnblogs.com/cjxblogs/p/7608436.html
總結
以上是生活随笔為你收集整理的linux下安装Mysql(干货!!!)解决mysql 1130问题,远程登录问题的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 做梦梦到前任代表什么
- 下一篇: SQL图像查看器 —— SQL Imag