linux下安装mysql
linux系统:Centos 7.3(使用 lsb_release -a 查看版本信息)
mysql版本:mysql-5.6.39-linux-glibc2.12-x86_64.tar.gz
1.下载mysql安装包
下载地址:
http://dev.mysql.com/downloads/mysql/5.6.html#downloads
2.将下载好的文件传输到 /usr/local 路径下,然后解压
tar -zxvf mysql-5.6.39-linux-glibc2.12-x86_64.tar.gz
将解压后的文件夹重名为“mysql”
mv mysql-5.6.39-linux-glibc2.12-x86_64 mysql
3.安装mysql依赖的库
MySQL运行依赖的libaio1库
yum install libaio.so.1
4.创建mysql用户组(方便管理mysql数据库)
groupadd mysql
添加用户mysql到用户组
useradd -g mysql mysql
5.进入mysql目录更改权限,修改目录拥有者为mysql用户
chown -R mysql:mysql ./
6.执行安装脚本
./scripts/mysql_install_db --user=mysql
此时会报错:缺少Data::Dumper模块
解决方法如下:
yum install -y perl-Data-Dumper
然后再执行安装命令就可以完成安装了。
7.安装完之后修改当前目录拥有者为root用户,修改当前data目录拥有者为mysql
chown -R root:root ./ chown -R mysql:mysql data 这个地方一定不能是root
至此mysql数据库安装完毕,下面做一些其他配置化工作
1.添加mysql服务开机自启动(将mysql加入Service系统服务)
首先需要将scripts/mysql.server服务脚本复制到/etc/init.d/,并重命名为mysqld
cp support-files/mysql.server /etc/init.d/mysqld
通过chkconfig命令将mysqld服务加入到自启动服务项中
chkconfig --add mysqld
查看是否添加成功
chkconfig --list mysqld
如果看到mysql的服务,并且3,4,5都是on的话则成功,如果是off,则执行
chkconfig --level 345 mysql on
2.启动mysql服务
先输入启动命令 service mysqld start,发现会报错:好像是/var/log/mariadb/路径下缺少一个mariadb.log文件
创建这个文件后再重新启动一下,启动成功
mkdir /var/log/mariadb 创建目录 touch /var/log/mariadb/mariadb.log 创建文件
service mysqld start
查看mysql运行状态
service mysqld status
3.把mysql客户端放到默认路径
ln -s /usr/local/mysql/bin/mysql /usr/local/bin/mysql (注意:建议使用软链过去,不要直接包文件复制,便于系统安装多个版本的mysql)
4.通过使用 mysql -uroot -p 连接数据库,会报错(默认数据库的root用户没有密码,这个需要设置一个密码)
解决方法:打开/etc/my.cnf,看看里面配置的socket位置是什么目录。“socket=/var/lib/mysql/mysql.sock”路径和“/tmp/mysql.sock”不一致。
建立一个软连接:ln -s /var/lib/mysql/mysql.sock /tmp/mysql.sock
然后再输入 mysql -uroot -p 即可登录成功
5.修改root密码
update user set password=password('这里是新设置的密码') where user='root';
然后执行 FLUSH PRIVILEGES;刷新权限即可(注意:必须刷新一下,不然修改不成功)
其他相关操作
1.linux下导入sql文件
(1)把sql文件上传至服务器,如/usr/local/mysql
(2)连接数据库
(3)切换数据库导入数据
mysql> use mysql; Reading table information for completion of table and column names You can turn off this feature to get a quicker startup with -A Database changed mysql> source /usr/local/mysql/gd_base.sql;