Linux上安装MySQL数据库使用.tar.gz安装(全)
1. 下载mysql包
官网网站下载历史版本,想要什么版本就去下载(一般人很难找到的)
http://dev.mysql.com/downloads/mysql/5.5.html#downloads
官网可用的版本5.5
http://dev.mysql.com/get/Downloads/MySQL-5.5/mysql-5.5.49-linux2.6-x86_64.tar.gz
1.1 安装wget资源库
yum install wget
1.2 在linux可以直接 下载mysql安装包
wget http://dev.mysql.com/get/Downloads/MySQL-5.5/mysql-5.5.49-linux2.6-x86_64.tar.gz
2. 安装 MySQL
2.1 注意:安装包统一放到 /usr/local/src 目录下。
2.2 卸载老版本MySQL
1. yum -y remove php-mysql
2. yum -y remove mysql-server mysql
2.3 禁用SeLinux
setenforce 0
2.4 安装依赖库
1. yum install -y gcc gcc-c++ kernel-devel ntp vim-enhanced flex bison autoconf make automake bzip2-devel ncurses-devel zlib-devel libjpeg-devel libpng-devel libtiff-devel freetype-devel libXpm-devel gettext-devel pam-devel libtool libtool-ltdl openssl openssl-devel fontconfig-devel libxml2-devel curl-devel libicu libicu-devel libmcrypt libmcrypt-devel libmhash libmhash-devel pcre-devel libtool-libs gd file patch mlocate diffutils readline-devel glibc-devel glib2-devel libcap-devel
2. yum install -y libaio
2.5 移动到安装目录
1.sudo mkdir /usr/local/mysql
2.cd /usr/local/src
3.tar -xzvf ./mysql-5.5.49-linux2.6-x86_64.tar.gz
4.sudo mv ./mysql-5.5.49-linux2.6-x86_64/* /usr/local/mysql
2.6 新建用户,其实这个用户没什么用,就是安装
1.sudo groupadd mysql
2.sudo useradd -g mysql -s /usr/sbin/nologin mysql #不让mysql用户直接登录
3.sudo chown -R mysql:mysql /usr/local/mysql/
2.7 复制配置文件,以后修改mysql的配置就在/etc/my.cnf 修改即可
cp /usr/local/mysql/support-files/my-medium.cnf /etc/my.cnf
2.8 设置权限
1. chmod +x /usr/local/mysql
2. chown -R mysql:mysql /usr/local/mysql
2.9 配置开机自动启动(重要)
1. cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
2. chmod +x /etc/init.d/mysqld
3. chkconfig --add mysqld
4. chkconfig --level 2345 mysqld on
5. chkconfig --list mysqld #查看是否已应用上
2.10 添加MySQL的软链接以适应init脚本
1. ln -sv /usr/local/mysql/bin/mysql /usr/sbin/mysql
2. ln -sv /usr/local/mysql/bin/mysqladmin /usr/sbin/mysqladmin
3. ln -sv /usr/local/mysql/bin/mysqldump /usr/sbin/mysqldump
2.11 修改配置文件
vim /etc/my.cnf
2.12 在 [mysqld] 节点中添加 (就是 添加数据库、日志保存路径)
1. datadir = /usr/local/mysql/data
2. log-error = /usr/local/mysql/data/error.log
3. pid-file = /usr/local/mysql/data/mysql.pid
4. user = mysql
5. tmpdir = /tmp
2.13 初始化数据库
sudo /usr/local/mysql/scripts/mysql_install_db --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data --user=mysql
2.14 修改root密码(出错就直接跳过此步骤)
/usr/local/mysql/bin/mysqladmin -u root -p password "123456"
配置防火墙 (没有防火 可以跳过)
3.1 先去看下3306是否能通过防火墙
firewall-cmd --query-port=3306/tcp
3.2 通过firewall-cmd开放3306端口
firewall-cmd --zone=public --add-port=3306/tcp --permanent
3.3 重启
firewall-cmd --reload
3.1 配置防火墙,开启3306端口
vim /etc/sysconfig/iptables
3.2 添加如下规则到22端口这条规则的下面即可
-A INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
3.3 重启防火墙
/etc/init.d/iptables restart # 或 service iptables restart
启动MySQL
4.1 服务命令
1. service mysqld start #启动 服务
2. service mysqld stop #停止 服务
3. service mysqld restart #重启 服务
4.2 查看是否有mysql进程
ps -ef | grep mysql
4.3 查看是否有mysql端口
netstat -ntlp | grep 3306
4,4 读取MySQL的版本信息
mysqladmin version
4.5 登录MYSQL
mysql -u root -p #如果添加密码出错的直接 回车 即可登录
4.6 启动服务提示mysql.sock文件丢失
1. find / -name mysql.sock #来找看看放在哪里,没有找到再下,找到后将文件放到配置my。cnf中对应的位置:
2. sudo sudo /usr/local/mysql/scripts/mysql_install_db #重建授权表
sudo /usr/local/mysql/bin/mysqld_safe #重新生成 /tmp/mysql.sock 和 hostname.pid
3. 以上方法都不行
ps -aux|grep mysql
4.7 连接mysql
#登录数据库账号命令:需要输入自己的密码
mysql -uroot -p
# 切换到mysql数据库
use mysql
# 查看user表中的用户和host信息
select user, host from user;
#修改用户密码
update user set password=password('123') where user='root' and host='localhost';
4.8 创建一个可以通过任意IP地址登录的root用户,
并设置密码期限:
# 我这里创建了一个名为root的可以通过任意ip登陆的账户,加密规则为mysql_native_password
create user 'root'@'%' identified with mysql_native_password by '552200';
# 设置 'root'@'%' 的密码永不过期
ALTER USER 'root'@'%' IDENTIFIED BY '552200' PASSWORD EXPIRE NEVER;
4.9 给这个root与用户添加可以操作数据库的权限,再刷新重启:
# 这里为刚才创建的root@% 用户授予所有数据库的所有表的所有操作访问权限
grant all privileges on *.* to 'root'@'%' with grant option;
# 刷新权限
flush privileges;