在linux安装mysql是个最基本最常用的需求啦,安装过程中可能出现各种龟毛的问题,博客也挺久没写了,以后每周至少一篇吧立个flag在这里哈哈哈哈哈哈
不说废话了
YUM安装
1.安装依赖
yum -y install gcc gcc-c++ libstdc++-devel autoconf automake libtool
2.下载文件
wget https://repo.mysql.com//mysql57-community-release-el7-11.noarch.rpm
3.安装mysql的yum仓库
yum localinstall mysql57-community-release-el7-11.noarch.rpm
yum repolist enabled | grep "mysql.*-community.*"
4.控制版本
vim /etc/yum.repos.d/mysql-community.repo
需要哪个版本就把enabled改成1
5.安装啦!!
yum install mysql-community-server
一般是不会出问题的,有时候也会有问题,比如我昨天在一台centos6 64位机器上装的时候总是报下面的错,可是依赖其实已经安装了,看网上说是依赖是32位的问题啥的,把32位64位的依赖都装了还是不能解决,最后直接换一种方式用rpm安装成功了,所以有时候不用纠结,一种方法不行就换一种,这也是为什么在这里介绍三种方法的原因。
6.后续工作
a. 初始化,运行之前确保/var/lib/mysql不存在或为空,否则会报错的哟
mysqld --initialize --user=mysql --explicit_defaults_for_timestamp
b. 上步骤运行成功后执行此步骤查看初始root密码
grep 'temporary password' /var/log/mysqld.log
c. 修改配置文件
vi /etc/my.cnf
在[mysqld]下面增加
character_set_server=utf8
init_connect='SET NAMES utf8'
7.启动mysql
systemctl start mysqld
或service start mysqld
如果失败了查看失败日志:
vim + /var/log/mysqld.log
我最近一次安装遇到这样的错误:os_file_get_status() failed on ‘./ibdata1’
解决办法:
chcon -Rt mysqld_db_t /var/lib/mysql
chcon -Ru system_u /var/lib/mysql
chown -R mysql:mysql /var/lib/mysql
8.开机自启
systemctl enable mysqld
systemctl daemon-reload
9.可以用了
mysql -u root -p
输入第六步得到的初始root密码
10.修改root密码
ALTER USER 'root'@'localhost' IDENTIFIED BY 'newpass';
11.授权远程登录
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'newpass' WITH GRANT OPTION;
12.整理一下各个相关文件的路径
配置文件:/etc/my.cnf
日志文件:/var/log//var/log/mysqld.log
服务启动脚本:/usr/lib/systemd/system/mysqld.service
socket文件:/var/run/mysqld/mysqld.pid
RPM安装
1.查看系统版本和位数
cat /etc/centos-release
getconf LONG_BIT
2.下载安装文件
根据第一步结果选择一下
3.下载以下四个文件
4.按照下面的顺序安装
rpm -ivh mysql-community-XXXX.rpm
mysql-community-common-5.7.9-1.el7.x86_64.rpm
mysql-community-libs-5.7.9-1.el7.x86_64.rpm –(依赖于common)
mysql-community-client-5.7.9-1.el7.x86_64.rpm –(依赖于libs)
mysql-community-server-5.7.9-1.el7.x86_64.rpm –(依赖于client、common)
5.从YUM安装法的第六步继续做就行了
编译安装mysql-5.5.45
1.卸载mariadb相关组件,避免与mysql冲突
rpm -qa|grep mariadb
rpm -e --nodeps mariadb-libs-XXXXX
2.安装依赖
yum install -y gcc gcc-c++ gcc-g77 autoconf automake zlib* fiex* libxml* ncurses-devel libmcrypt* libtool-ltdl-devel*
3.安装cmake
tar -zxvf cmake-3.4.0.tar.gz && cd cmake-3.4.0
./configure
make && make install
4.安装mysql
涉及到的资源去网上找哟
rm -rf /etc/my.cnf
userdel mysql
groupdel mysql
groupadd mysql
useradd -g mysql mysql
tar -zxvf mysql-5.5.45.tar.gz && cd mysql-5.5.45
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql \
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock \
-DDEFAULT_CHARSET=utf8 \
-DDEFAULT_COLLATION=utf8_general_ci \
-DWITH_EXTRA_CHARSETS:STRING=utf8,gbk \
-DWITH_MYISAM_STORAGE_ENGINE=1 \
-DWITH_INNOBASE_STORAGE_ENGINE=1 \
-DWITH_MEMORY_STORAGE_ENGIME=1 \
-DWITH_READLINE=1 \
-DENABLED_LOCAL_INFILE=1 \
-DMYSQL_DATADIR=/usr/local/mysql/data \
-DMYSQL_USER=mysql
make && make install
chmod +w /usr/local/mysql
chown -R mysql:mysql /usr/local/mysql
ln -s /usr/local/mysql/lib/libmysqlclient.so.18 /usr/lib/libmysqlclient.so.18
cp /usr/local/mysql/support-files/my-large.cnf /etc/my.cnf
cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysqld
5.修改配置文件
vim /etc/my.cnf
在[mysqld]下面添加
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
log-error = /usr/local/mysql/mysql_error.log
pid-file = /usr/local/mysql/data/mysql.pid
default-storage-engine=MyISAM
user = mysql
6.初始化
cd /usr/local/mysql
scripts/mysql_install_db \
--basedir=/usr/local/mysql \
--datadir=/usr/local/mysql/data \
--user=mysql
7.修改启动文件
vim /etc/init.d/mysqld
修改路径
basedir=/usr/local/mysql
datadir=/usr/local/mysql/data
8.开机自启
chmod +x /etc/init.d/mysqld
chkconfig --add mysqld
chkconfig --level 345 mysqld on
9.启动服务,设置密码
systemctl start mysql
或 service mysqld start
/usr/local/mysql/bin/mysqladmin -u root password 'newpass'
10.可以使用咯
mysql -u root -p
艾玛终于结束了,希望能帮到读者们