Mysql安装:
下载解压安装
2017.4.16更新
说说遇到的坑吧,首先对mysql的make命令,真的是编译一天!编译了一天就不说了,最后还有奇奇怪怪的问题!结果还没有安装成功!
现在我决定换一个安装方式!
说一下我的操作系统是 CentOS7
,查资料发现是CentOS7版本将MySQL数据库软件从默认的程序列表中移除,用mariadb代替了,这样,我们回归寻常路
CentOS 7的yum源中貌似没有正常安装mysql时的mysql-sever文件,需要去官网上下载
安装 mysql-community-server
1 2 3
| [root@iZ2844brz0xZ ~]# wget http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm [root@iZ2844brz0xZ ~]# rpm -ivh mysql-community-release-el7-5.noarch.rpm [root@iZ2844brz0xZ ~]# yum install mysql-community-server
|
成功安装之后启动mysql
服务
1
| [root@iZ2844brz0xZ ~]# service mysqld start
|
初次安装mysql的时候,root账户是没有密码的
1 2
| [root@iZ2844brz0xZ ~]# mysql -u root -p Enter password:
|
要求输入密码的时候直接回车,因为没有密码,进入到mysql
1
| mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('newPassword');
|
其中 newPassword
为你为 root
账户设置的密码。
若提示下面信息则表示设置成功
1
| Query OK, 0 rows affected (0.02 sec)
|
退出,搞定~
手动编译版本:
https://dev.mysql.com/downloads/mysql/,进入后在下方选择 source code
版本,选择 Generic Linux (Architecture Independent), Compressed TAR Archive
,右键复制链接,用下面命令下载后得到 .tar.gz
的包
1
| [root@iZ2844brz0xZ ~]# wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.18.tar.gz
|
如果提示wget命令为找到,则执行
1
| [root@iZ2844brz0xZ ~]# sudo yum install wget
|
下载完用 ll
命令查看刚刚下载获得的 mysql-**.**.**.tar.gz
文件,用下面命令解压并解包它
1
| [root@iZ2844brz0xZ ~]# tar -zxvf mysql-5.7.18.tar.gz
|
-z: 表示使用gzip的属性。
-x: 解开一个压缩文件的参数指令。
-v: 表示压缩的过程中显示文件!这个常用,但不建议用在背景执行过程!
-f: 使用档名,请留意,在 f 之后要立即接档名喔!不要再加参数!
参考资料
接下来我们用yum来安装我们需要的依赖和工具。
1
| [root@iZ2844brz0xZ ~]# sudo yum install cmake gcc-c++ ncurses-devel perl-Data-Dumper boost boost-doc boost-devel
|
Mysql安装:
编译安装
进入mysql目录
1
| [root@iZ2844brz0xZ ~]# cd mysql-5.7.18/
|
用cmake命令编译,代码如下,后面的均为配置数据
1
| [root@iZ2844brz0xZ ~]# cmake -DCMAKE_INSTALL_PREFIX=/home/mysql -DMYSQL_DATADIR=/home/mysql/data -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DMYSQL_TCP_PORT=3306 -DMYSQL_USER=mysql -DWITH_MYISAM_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_MEMORY_STORAGE_ENGINE=1 -DDOWNLOAD_BOOST=1 -DWITH_BOOST=/usr/local/boost
|
cmake命令结束后,使用make命令进行编译(过程有点慢)
1
| [root@iZ2844brz0xZ mysql-5.7.18]# make
|
make编译完成后,用下面命令安装Mysql
1
| [root@iZ2844brz0xZ mysql-5.7.18]# sudo make install
|
安装结束后,使用 mysqld
命令启动Mysql
1
| [root@iZ2844brz0xZ mysql-5.7.18]# mysqld
|
启动后,使用mysql命令进入Mysql
1
| [root@iZ2844brz0xZ mysql-5.7.18]# mysql
|
若显示
表明进入mysql,安装成功。
题外话
在这里特别提醒, 对于mysql5.7.8的make编译, 如果是阿里云centos主机512M内存的, 会在make编译到45%左右的时候会报错, 这是内存不足所致。
那么设置2G交换分区来用下 :
1 2 3 4 5
| [root@iZ2844brz0xZ /]# dd if=/dev/zero of=/swapfile bs=1k count=2048000 --获取要增加的2G的SWAP文件块(执行命令后需要等待一段时间) [root@iZ2844brz0xZ /]# mkswap /swapfile -- 创建SWAP文件 [root@iZ2844brz0xZ /]# swapon /swapfile -- 激活SWAP文件 [root@iZ2844brz0xZ /]# swapon -s -- 查看SWAP信息是否正确 [root@iZ2844brz0xZ /]# echo "/var/swapfile swap swap defaults 0 0" >> /etc/fstab -- 添加到fstab文件中让系统引导时自动启动
|
注意, swapfile文件的路径在 /var/
下
编译完后, 如果不想要交换分区了, 可以删除:
1 2
| [root@iZ2844brz0xZ /]# swapoff /swapfile [root@iZ2844brz0xZ /]# rm -fr /swapfile
|
实际操作:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| [root@iZ2844brz0xZ /]# dd if=/dev/zero of=/swapfile bs=1k count=2048000 2048000+0 records in 2048000+0 records out 2097152000 bytes (2.1 GB) copied, 42.2248 s, 49.7 MB/s [root@iZ2844brz0xZ /]# mkswap /swapfile Setting up swapspace version 1, size = 2047996 KiB no label, UUID=5f8de87f-9057-4bf7-af9d-a09e1be7de56 [root@iZ2844brz0xZ /]# swapon /swapfile swapon: /swapfile: insecure permissions 0644, 0600 suggested. [root@iZ2844brz0xZ /]# swapon -s Filename Type Size Used Priority /swapfile file 2047996 0 -1 [root@iZ2844brz0xZ /]# echo "/var/swapfile swap swap defaults 0 0" >> /etc/fstab [root@iZ2844brz0xZ /]#
|
参考资料 作者:zhuxiongxian
至此,Mysql安装结束