安装MySQL数据库
实验环境:centos操作系统、cmake源码包、mysql源码包
实验目的,安装数据库
实验步骤:
一、安装前的准备工作:为了避免发生端口冲突,程序冲突等现向,建议先查询mysql软件的安装情况,确认没有使用以RPM方式安装的mysql-server、mysql软件包,否则建议将其卸载。
[root@localhost 桌面]# rpm -q mysql-server mysql
package mysql-server is not installed
package mysql is not installed
如果已经安装mysql则卸载
[root@localhost 桌面]# rpm -e mysql –nodeps
(1)首先挂载光盘:
[root@localhost 桌面]# mkdir /media/dvd
[root@localhost 桌面]# mount /dev/cdrom /media/dvd/
mount: block device /dev/sr0 is write-protected, mounting read-only
(2)安装光盘自带的ncurses-devel包:
[root@localhost 桌面]# cd /media/dvd/Packages/
[root@localhost Packages]# rpm -ivh ncurses-devel-5.7-3.20090208.el6.x86_64.rpm
(安装光盘自带的ncurses-devel包)
warning: ncurses-devel-5.7-3.20090208.el6.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID c105b9de: NOKEY
Preparing... ########################################### [100%]
1:ncurses-devel ########################################### [100%]
ncurses-devel包:字符终端下屏幕控制基本库。
(3)mysql5.5需要cmake编译安装,所以先安装cmake包:
[root@localhost 桌面]# tar zxf cmake-2.8.6.tar.gz -C /usr/ (安装cmake包)
[root@localhost 桌面]# cd /usr/cmake-2.8.6/ (切换到cmake的目录)
[root@localhost cmake-2.8.6]# ./configure (进行配置)
[root@localhost cmake-2.8.6]# gmake && gmake install
(编译为可执行程序(二进制)及进行安装,&&:意思是前面命令执行成功,后面的才可以执行。&:意思是前面命令是否成功,后面命令都执行。)
二、源码编译安装:
(1)创建运行用户:
为了加强数据库服务的权限控制,建议使用专门的运行用户,如mysql。此用户不需要直接登陆到系统,可以不创建宿主文件夹。
[root@localhost cmake-2.8.6]# groupadd mysql (创建mysql组)
[root@localhost cmake-2.8.6]# useradd -M -s /sbin/nologin mysql -g mysql
(新建用户,把新建的用户指定到mysql组里,-M:不创建宿主目录,-s:指定登陆shell,-g:指定基本组名)
(2)解包:
将下载的mysql源码包解压,释放到/usr/src目录下,并切换到展开后的源码目录。
[root@localhost 桌面]# tar zxf mysql-5.5.22.tar.gz -C /usr/src
(解包mysql源码包到/usr/src目录)
(3)配置:
在内容丰富,结构庞大的企业网站平台中,可能会用到多种字符集的网页,相应地数据库系统也应该支持不同的字符集编码,在配置过程中,可以将默认使用的字符集设置为utf8,并添加其他字符集的支持。
[root@localhost 桌面]#cd /usr/src/mysql-5.5.22
[root@localhost mysql-5.5.22]# cmake -DCMAKE_INSTALL_PREFIX=/usr/local/mysql -DSYSCONFDIR=/etc/ -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS=all
(上述命令需要大写)
上述配置命令中,个选项的含义如下:
--DCMAKE_INSTALL_PREFIX:指定将mysql数据库程序安装到某目录下,如目录/usr/local/mysql。
-DSYSCONFDIR:指定初始化参数文件目录。
-DDEFAULT_CHARSET:指定默认使用的字符集编码,如utf8.
-DDEFAULT_COLLATION:指定默认使用的字符集校队规则,utf8_general_ci是使用于UTF-8字符集的通用规则。
-DWITH_EXTRA_CHARSETS:指定额外支持的其他字符集编码。
(4)编译并安装:
[root@localhost mysql-5.5.22]# make && make install (编译 && 安装)
三、安装后的其他调整:
对数据库目录进行权限设置:
[root@localhost mysql-5.5.22]# chown -R mysql:mysql /usr/local/mysql/
建立配置文件:
在mysql源码目录中的support-files文件夹下,提供了适合不同负载数据库的样本配置文件。如果不确定数据库系统的应用规模,一般选择my-medium.cnf文件即可,该文件能够满足大多数企业的中等应用需求,根据以下参考内容建立mysql系统的/etc/my.cnf配置文件。
[root@localhost mysql-5.5.22]# rm -rf /etc/my.cnf
(如果原来etc文件夹下有my.cnf文件可以删除)
[root@localhost mysql-5.5.22]# cp support-files/my-medium.cnf /etc/my.cnf
初始化数据库:
为了能够正常使用mysql数据库系统,应以运行用户mysql的身份执行初始化脚本mysql_install_db,指定数据存放目录等。
[root@localhost mysql-5.5.22]# /usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data/
设置环境变量:
为了方便在任何目录下使用mysql命令,需要在/etc/profile设置环境变量。
[root@localhost mysql-5.5.22]# echo "PATH=$PATH:/usr/local/mysql/bin" >> /etc/profile
[root@localhost mysql-5.5.22]# . /etc/profile (立即生效)
四、添加系统服务:
若希望添加mysql系统服务,以便通过chkconfig进行管理,可以直接使用源码包中提供的服务脚本,找到support-files文件夹下的mysql.server脚本文件,将其复制到/etc/rc.d/init.d目录下,并改名为mysql,然后在设置执行权限,通过执行“chkconfig”命令将其添加为MySQL系统服务。
[root@localhost mysql-5.5.22]# cp support-files/mysql.server /etc/rc.d/init.d/mysqld
[root@localhost mysql-5.5.22]# chmod a+x /etc/rc.d/init.d/mysqld
[root@localhost mysql-5.5.22]# chkconfig --add mysqld
这样,以后就可以使用service工具或直接执行/etc/init.d/mysqld脚本来控制mysql数据库服务了。例如,若要启动mysqld服务,并查看其运行状态,可以执行以下操作。
[root@localhost mysql-5.5.22]# service mysqld start (启动mysqld服务)
Starting MySQL.. [确定]
[root@localhost mysql-5.5.22]# /etc/init.d/mysqld status
MySQL running (51056) [确定]
[root@localhost mysql-5.5.22]# netstat -anpt | grep mysqld (查看监听端口)
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 51056/mysqld
MySQL服务器默认通过TCP 3306端口提供服务,通过编辑/etc/my.cnf配置文件中[mysqld]配置段的“port = 3306”行,可以更改监听端口。
修改MySQL默认端口号:
[root@localhost mysql-5.5.22]# vim /etc/my.cnf
# The following options will be passed to all MySQL clients
[client]
#password = your_password (客户端加密地址)
port = 3306 (客户端监听端口)
socket = /tmp/mysql.sock (套接字,用于描述IP地址和端口)
# Here follows entries for some specific programs
# The MySQL server
[mysqld]
port = 3306 (服务器默认端口,更改为9800)
socket = /tmp/mysql.sock (套接字,用于描述IP地址和端口)
skip-external-locking
key_buffer_size = 16M
max_allowed_packet = 1M
table_open_cache = 64
sort_buffer_size = 512K
net_buffer_length = 8K
read_buffer_size = 256K
read_rnd_buffer_size = 512K
myisam_sort_buffer_size = 8M
# Don't listen on a TCP/IP port at all. This can be a security enhancement,
保存退出后,重新启动mysqld服务
[root@localhost mysql-5.5.22]# /etc/init.d/mysqld restart (重启mysqld服务)
[root@localhost mysql-5.5.22]# netstat -anpt | grep mysqld (查看监听端口)
tcp 0 0 0.0.0.0:9800 0.0.0.0:* LISTEN 52450/mysqld
五、访问MySQL数据库:
(1)登陆到MySQL服务器
经过安装后的初始化过程,MySQL数据库的默认管理员用户名为“root”,密码为空,若要以未设置密码的root用户登陆本机的MySQL数据库,可以执行一下操作。
[root@localhost ~]# mysql -u root //“-u”选项用于指定认证用户
在有密码的情况下,还应该使用“-p”选项来进行密码校验。
[root@localhost ~]# mysql -u root –p
Enter password: (根据提示输入正确的密码)
(2)执行MySQL操作语句:
验证成功以后将会进入提示符为“mysql>”的数据库操作环境,用户可以输入各种操作语句对数据库进行管理,每一条MySQL操作语句以分号“;”表示结束,输入时可以不区分大小写,但习惯上将MySQL语句中的关键字部分大写。
例如,以用户名root登陆到“MySQL>”环境后,执行“SHOW MASTER LOGS”:语句可以查看当前数据库服务的日志文件信息。
mysql> SHOW MASTER LOGS; (语句结束后,必须要加;)
+------------------+-----------+
| Log_name | File_size |
+------------------+-----------+
| mysql-bin.000001 | 27338 |
| mysql-bin.000002 | 1031892 |
| mysql-bin.000003 | 107 |
+------------------+-----------+
3 rows in set (0.00 sec)
mysql>
(3)退出“mysql>”操作环境:
在“MySQL>”操作环境中,执行“exit”或“quit”命令可以退出mysql命令工具,返回原来的shell环境。 (也可以用ctrl+c)
mysql> EXIT (退出)
Bye
You have new mail in /var/spool/mail/root
[root@localhost ~]#
标签:5.5,22,mysqld,初始,mysql,root,localhost,搭建 From: https://www.cnblogs.com/smile020420/p/17434460.html