linux 安装 nginx+PHP+mysql之安装mysql

下载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;

你可能感兴趣的:(linux 安装 nginx+PHP+mysql之安装mysql)