上次已经使用ifconfig命令看到了ip地址,并且通过xshell成功连接上linux
我们现在需要安装mysql(以mysql来完成端口开放),
1、下载(关于下载安装此处借鉴http://www.cnblogs.com/bookwed/p/5896619.html)
下载地址:http://dev.mysql.com/downloads/mysql/5.6.html#downloads
下载版本:我这里选择的5.6.33,通用版,linux下64位
也可以直接复制64位的下载地址,通过命令下载:wget http://dev.mysql.com/get/Downloads/MySQL-5.6/mysql-5.6.33-linux-glibc2.5-x86_64.tar.gz(我使用的就是使用命令下载的方式方式)
此处遇到问题wget命令没有,我们需要进行安装此命令
yum install wget安装命令后进行下载
下载完成后进行解压
2、解压
#解压
tar -zxvf mysql-5.6.33-linux-glibc2.5-x86_64.tar.gz
#复制解压后的mysql目录
cp -r mysql-5.6.33-linux-glibc2.5-x86_64 /usr/local/mysql
3、添加用户组和用户
#添加用户组
groupadd mysql
#添加用户mysql 到用户组mysql
useradd -g mysql mysql
4、安装
cd /usr/local/mysql
mkdir ./data/mysql
chown -R mysql:mysql ./
./scripts/mysql_install_db --user=mysql --datadir=/usr/local/mysql/data/mysql
(当我运行这一句的时候出现了一个错误,坏的解释器,解决办法http://lifenlun163.blog.51cto.com/5159500/1266731/
这里表达的是安装mysql的时候没有安装perl和perl-devel插件,安装即可
yum -y install perl perl-devel
然后上面那段脚本依然无法运行,提示缺少Data:dumper模块,解决办法http://blog.sina.com.cn/s/blog_694864e60102vaij.html
yum-y install autoconf //此包安装时会安装Data:Dumper模块
安装此模块后,成功安装了mysql,继续执行下面的脚本
)
cp support-files/mysql.server /etc/init.d/mysqld
chmod 755 /etc/init.d/mysqld
cp support-files/my-default.cnf /etc/my.cnf
#修改启动脚本
vi /etc/init.d/mysqld
#修改项:
basedir=/usr/local/mysql/
datadir=/usr/local/mysql/data/mysql
#启动服务
service mysqld start
#测试连接
./mysql/bin/mysql -uroot
#加入环境变量,编辑 /etc/profile,这样可以在任何地方用mysql命令了
export PATH=$PATH:/usr/local/mysql//bin
source /etc/profile
#启动mysql
service mysqld start
#关闭mysql
service mysqld stop
#查看运行状态
service mysqld status
启动失败时
mysql5.6的默认参数设置问题,将mysql配置文件 我的是位于 /usr/local/mysql/my.conf
调整以下参数
innodb_buffer_pool_size=8MB
performance_schema_max_table_instances=600
table_definition_cache=400
table_open_cache=256
这时mysql启动后内存就只占用40--60M内存了
由于虚拟机使用的centos所以防火墙用firewalld
第一步需要打开mysql的3306端口,
首先使用本机telnet远程linux发现3306是未打开的
[root@localhost ~]# firewall-cmd --zone=public --add-port=3306/tcp --permanent (--permanent表示永久生效,没有此参数重启后失效)
success
[root@localhost ~]# firewall-cmd --reload (重启防火墙)
success
[root@localhost ~]# firewall-cmd --state (查看防火墙状态)
running
[root@localhost ~]#
以上操作借鉴http://blog.csdn.net/mikelc7/article/details/73549515
然后给数据库设置一个远程连接帐号
GRANT ALL PRIVILEGES ON *.* TO jxc@'%' IDENTIFIED BY '1234' WITH GRANT OPTION;(远程连接帐号密码)
FLUSH PRIVILEGES;(刷新权限)
操作完以后再次去telnet远程linux3306端口时即可成功,使用帐号密码登录mysql即可
这个时候一旦重启linux服务将未启动,这时我们将mysql添加为自启动
1、cp /usr/local/mysql/support-files/mysql.server /etc/init.d/mysql 将服务文件拷贝到init.d下,并重命名为mysql
2、chmod +x /etc/init.d/mysql 赋予可执行权限
3、chkconfig --add mysql 添加服务
4、chkconfig --list 显示服务列表
如果看到mysql的服务,并且3,4,5都是on的话则成功,如果是off,则键入
chkconfig --level 345 mysql on
5、reboot重启电脑
6、netstat -na | grep 3306,如果看到有监听说明服务启动了
chkconfig的用法参考
http://www.cnblogs.com/qq-757617012/p/4074589.html
后续会遇到service mysql start的情况,不会自动启动的情况
将mysql关闭然后删除/etc/init.d/mysqld即可,
重点:linux中mysql大小写敏感
修改my.cnf配置文件
在[mysqld]节下加入 :
#让MYSQL大小写敏感(1-不敏感,0-敏感)
lower_case_table_names=1