Linux centos安装mysql

版权声明:本文为博主原创文章,转载请注明出处。 https://blog.csdn.net/libra_ts/article/details/80198656

安装步骤


#解压
tar -zxvf mysql-5.6.33-linux-glibc2.5-x86_64.tar.gz
#复制解压后的mysql目录
cp -r mysql-5.6.33-linux-glibc2.5-x86_64 /usr/local/mysql
#添加用户组
groupadd mysql
#添加用户mysql 到用户组mysql
useradd -g mysql mysql

#安装
cd /usr/local/mysql/
mkdir ./data/mysql
chown -R mysql:mysql ./
cd /usr/local/mysql/

#这行命令就是这样不用加./ 或者sh
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

#加入环境变量,编辑 /etc/profile,这样可以在任何地方用mysql命令了
export PATH=$PATH:/usr/local/mysql/bin
source /etc/profile

#启动mysql
service mysqld start
#关闭mysql
service mysqld stop
#查看运行状态
service mysqld status

问题整理:

  • FATAL ERROR: please install the following Perl modules before executing ./scripts/mysql_install_db:Data::Dumper
#解决方法是安装autoconf库
yum -y install autoconf 
  • 启动报错mysql起动报错The server quit without updating PID file (/usr/local/mysql/data/xx.pid)
vi /etc/my.cnf
datadir = /usr/local/mysql/data         #添加
log-error = /usr/local/mysql/data/error.log  #添加
#pid-file = /usr/local/mysql/data/mysql.pid   #注释掉
tmpdir = /var/tmp #不建议放在/tmp下
#保存退出

#如果不行再试试下面的命令
cd /usr/local/mysql
./scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql/ --datadir=/usr/local/mysql/data/
  • 无法使用mysql命令bash: mysql: command not found
ln -s /usr/local/mysql/bin/mysql /usr/bin

导致这个问题的原因是因为/usr/local/bin目录下缺失mysql,只需要一下方法建立软链接,即可以解决:
把mysql安装目录,比如MYSQLPATH/bin/mysql,映射到/usr/local/bin目录下: 
# cd /usr/local/bin
# ln -fs /MYSQLPATH/bin/mysql mysql

还有其它常用命令mysqladmin、mysqldump等不可用时候都可按用此方法解决。
注:其中MYSQLPATH是mysql的实际安装路径
  • Navicat for mysql软件连接数据库报错:2003-can’t connect to MYSQL serve
#连接mysql
mysql -uroot -p

#执行语句
GRANT ALL PRIVILEGES ON *.* TO 'username'@'%' IDENTIFIED BY 'password' WITH GRANT OPTION;
(username表示用户名,password表示密码,替换成你想要的,%表示所有的电脑都可以连接,也可以设置某个ip地址运行连接)。

#执行命令使设置立即生效
flush privileges;

展开阅读全文

没有更多推荐了,返回首页