mysql在linux下的安装
如有问题可联系本人qq,加qq请备注来源(1666464075)
1、下载
下载地址:https://dev.mysql.com/downloads/mysql/
下载版本:我这里选择的5.6.41,通用版,linux下64位
2、解压
#进入指定目录
[root@jameszhou mysql-5.6.41-linux-glibc2.12-x86_64]# cd /usr/local/mysql
#解压
[root@jameszhou mysql-5.6.41-linux-glibc2.12-x86_64]# tar -zxvf mysql-5.6.33-linux-glibc2.5-x86_64.tar.gz ./
3、添加用户组和用户
#添加用户组
[root@jameszhou mysql-5.6.41-linux-glibc2.12-x86_64]# groupadd mysql
#添加用户mysql 到用户组mysql
[root@jameszhou mysql-5.6.41-linux-glibc2.12-x86_64]# useradd -g mysql mysql
4、安装
cd /usr/local/mysql/
mkdir ./data/mysql
chown -R mysql:mysql ./
./scripts/mysql_install_db --user=mysql --datadir=/usr/local/mysql/data/mysql
cp support-files/mysql.server /etc/init.d/mysqld
chmod 755 /etc/init.d/mysqld
cp support-files/my-default.cnf /etc/my.cnf
#修改启动脚本
vi /etc/init.d/mysqld
#修改项:
basedir=/usr/local/mysql/
datadir=/usr/local/mysql/data/mysql
#启动服务
service mysqld start
#测试连接
./mysql/bin/mysql -uroot
#加入环境变量,编辑 /etc/profile,这样可以在任何地方用mysql命令了
export PATH=$PATH:/usr/local/mysql//bin
source /etc/profile
#启动mysql
service mysqld start
#关闭mysql
service mysqld stop
#查看运行状态
service mysqld status
注意这里可能会报错:
初始化默认数据库运行此命令:/usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql/
出现错误:
FATAL ERROR: please install the following Perl modules before executing /usr/local/mysql/scripts/mysql_install_db:
解决方法 :安装autoconf库
命令:yum-y install autoconf //此包安装时会安装Data:Dumper模块
安装完autoconf库,再运行/usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql/ ,问题消失!!
5、远程连接
sqlyog连接时,报1130错误,是由于没有给远程连接的用户权限问题
解决办法有两种:
5.1.授权法
GRANT ALL PRIVILEGES ON *.* TO 'user'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION; // %:表示从任何主机连接到mysql服务器
FLUSH PRIVILEGES;
或者
GRANT ALL PRIVILEGES ON *.* TO 'user'@'116.30.70.187' IDENTIFIED BY 'password' WITH GRANT OPTION;//表示从指定ip从任何主机连接到mysql服务器
FLUSH PRIVILEGES;
5.2.改表法
可能是你的帐号不允许从远程登陆,只能在localhost。这个时候只要在localhost的那台电脑,登入MySQL后,更改 "mysql" 数据库里的 "user" 表里的 "host" 项,从"localhost"改称"%"
mysql -u root -p
mysql>use mysql;
mysql>update user set host = '%' where user = 'root' and host='localhost';
mysql>select host, user from user;
然后重启MySQL服务。或再执行 执行一个语句 mysql>FLUSH RIVILEGES 使修改生效。
这样就大功告成,就可以远程链接数据库了
ps :数据库默认安装用户root密码为空