下载msyql 版本5.5
[root@localhost home]$ wget https://dev.mysql.com/get/Downloads/MySQL-5.5/mysql-5.5.54.tar.gz
执行下载时报错
--2019-10-23 22:31:03-- https://dev.mysql.com/get/Downloads/MySQL-5.5/mysql-5.5.54.tar.gz Resolving dev.mysql.com... 137.254.60.11 Connecting to dev.mysql.com|137.254.60.11|:443... connected. ERROR: certificate common name “www.mysql.com” doesn’t match requested host name “dev.mysql.com”. To connect to dev.mysql.com insecurely, use ‘--no-check-certificate’.
是因为没有https证书的原因 需要在后边加上no-check-certificate 即可
[root@localhost home]$ wget https://dev.mysql.com/get/Downloads/MySQL-5.5/mysql-5.5.54.tar.gz --no-check-certificate
下载完成后 安装mysql前需要给mysql一个用户
[root@localhost home]# groupadd mysql
[root@localhost home]# useradd -g mysql mysql -M -s /sbin/nologin
设置完成之后进行解压
[root@localhost home]# tar xf mysql-5.5.54.tar.gz
安装前需要使用到cmake 所以要先安装cmake
[root@localhost mysql-5.5.54]# yum install cmake -y
附带参数安装
cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock
-DMYSQL_USER=mysql
-DDEFAULT_CHARSET=utf8
-DDEFAULT_COLLATION=utf8_general_ci
-DWITH_MYISAM_STORAGE_ENGINE=1
-DWITH_INNOBASE_STORE_ENGINE=1
-DWITH_DEBUG=0 -DWITH_READLINE=1
-DWITH_EMBEDDED_SERVER=1
-DENABLED_LOCAL_INFILE=1
这个时候会报错
CMake Error at cmake/readline.cmake:83 (MESSAGE): Curses library not found. Please install appropriate package, remove CMakeCache.txt and rerun cmake.On Debian/Ubuntu, package name is libncurses5-dev, on Redhat and derivates it is ncurses-devel.
先[root@localhost mysql-5.5.54]# yum install ncurses-devel -y
再删除 [root@localhost mysql-5.5.54]# rm -f CMakeCache.txt
删除之后执行上边的编译
编译成功后执行
[root@localhost mysql-5.5.54]# make && make install
安装完成后 就是初始化数据库
[root@localhost mysql-5.5.54]# cd /usr/local/mysql
在scripts文件夹下有一个脚本
[root@localhost mysql]# cd scripts/
[root@localhost scripts]# ls
mysql_install_db
执行命令
[root@localhost scripts]# ./mysql_install_db --datadir=/usr/local/mysql/data/ --basedir=/usr/local/mysql/ --user=mysql
到这里,数据库初始化已经完成,然后再就是配置文件
我们要先建一个etc 的目录 mkdir etc
[root@localhost mysql]# cd support-files/
[root@localhost support-files]# cp my-huge.cnf ../etc/my.cnf 这里是复制一个系统自带的配置文件到etc中
配置基本不用改变,接下来就是启动数据库了
[root@localhost mysql]# cd support-files/
在support-files这个文件夹中有一个启动mysql 的脚本 我们直接启动它就可以了
[root@localhost support-files]# ./mysql.server start
启动后会报下方的错误,这个是有一个自带的配置文件冲突,把这个配置文件删除就好了
Starting MySQL. ERROR! The server quit without updating PID file (/var/lib/mysql/localhost.localdomain.pid).
执行 [root@localhost mysql]# rm -f /etc/my.cnf
完成之后再启动mysql就会成功
启动完成接下来就是要进去mysql执行操作
[root@localhost support-files]# msyql 显示错误 bash: msyql: command not found
这是因为启动进入mysql服务的文件在bin下面,所以在这找不到bin这个路径,有两个解决办法
1.复制msyql 到/usr/bin/ 执行 cp mysql /usr/bin/
2.将/usr/local/mysql/bin/加入到全局变量中去
我们使用第一种方法,
[root@localhost bin]# cp mysql /usr/bin/
[root@localhost bin]# msyql
mysql> show databases;
现在进入mysql服务是不用账号密码的,我们不能这样,这样是不安全的
在安装的根目录里有一个脚本 mysql_secure_installation
我们直接运行 [root@localhost scripts]# ./mysql_secure_installation
出现 Enter current password for root (enter for none): 按enter
接下来询问你 Set root password? [Y/n] 是否设置root的密码 输入 y
输入两次密码即可
询问 Remove anonymous users? [Y/n] 删除匿名用户? 输入y
询问 Disallow root login remotely? [Y/n] 禁止root远程登录 输入 y
询问 Remove test database and access to it? [Y/n] 删除test这个数据库 输入 y
询问 Reload privilege tables now? [Y/n] 重新刷新权限 输入y
这里就设置root密码完成了
[root@localhost scripts]# mysql -uroot -p 输入密码即可进入mysql服务
最后建立一个普通用户进行访问就可以了。
一些msyql的操作命令
查看mysql的用户SELECT User, Host, Password FROM mysql.user;
创建新用户并授权: grant all privileges on *.* to 'user'@'%' identified by '123456' with grant option;