MySQL是一个关系型数据库管理系统,由瑞典MySQL AB 公司开发,目前属于 Oracle 旗下产品。MySQL 最流行的关系型数据库管理系统,在 WEB 应用方面MySQL是最好的 应用软件之一.
mysql 数据库安装方式有多种,本文介绍源码安装
系统环境:
Linux mysql 2.6.32-642.6.1.el6.x86_64 #1 SMP Wed Oct 5 00:36:12 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
[root@mysql ~]# cat /etc/redhat-release
CentOS release 6.8 (Final)
创建用户和组
groupadd mysql
useradd mysql -g mysql -M -s /sbin/nologin
[root@mysql ~]# id mysql
uid=502(mysql) gid=502(mysql) 组=502(mysql)
2.解压源码并编译安装
tar xf mysql-5.1.72.tar.gz
cd mysql-5.1.72
#编译
./configure \
--prefix=/application/mysql5.1.72 \
--with-unix-socket-path=/application/mysql5.1.72/tmp/mysql.sock \
--localstatedir=/application/mysql5.1.72/data \
--enable-assembler \
--enable-thread-safe-client \
--with-mysqld-user=mysql \
--with-big-tables \
--without-debug \
--with-pthread \
--enable-assembler \
--with-extra-charsets=complex \
--with-readline \
--with-ssl \
--with-embedded-server \
--enable-local-infile \
--with-plugins=partition,innobase \
--with-mysqld-ldflags=-all-static \
--with-client-ldflags=-all-static
make && make install
3.做软链接
ln -s /application/mysql5.1.72/ /application/mysql
ll /application/mysql
-------------------------------
重要:如果mysql不是和apache部署在同一台电脑上,到此结束。
-------------------------------
4.数据库的初始化
cd /tools/mysql-5.1.72
ls support-files/my*.cnf #显示mysql 配置文件
cd support-files
cp my-small.cnf /etc/my.cnf #copy 配置文件
mkdir -p /application/mysql/data # 建立mysql数据文件存放目录
chown -R mysql:mysql /application/mysql #授权Mysql 用户能访问mysql 的安装目录
ll /application/mysql/data
/application/mysql/bin/mysql_install_db --basedir=/application/mysql --datadir=/application/mysql/data --user=mysql
#出现2个OK,表示成功
ll /application/mysql/data
#######################################
------------------------------------------------
vim /etc/init.d/mysqld
basedir=/application/mysql
datadir=/application/mysql/data
------------------------------------------------
#######################################
5.copy启动文件
cd /tools/mysql-5.1.72/support-files
cp mysql.server /etc/init.d/mysqld
6.加入开机自启动
chkconfig mysqld on
启动mysql数据库
/etc/init.d/mysqld start (/application/mysql/bin/mysqld_safe & 这个命令也可以启动mysql)
如果启动失败则执行下面命令:
ps -ef |grep mysql #查看Mysql 进程是否在运行,如果在的话,启动前要Kill 或者 mysqladmin shutdown
然后再启动mysql
[root@mysql ~]#mysql
出现下面错误:
#-bash:mysql:command not found
mysql 对应的路径不在path目录下面
使用全路径进入mysql:
/application/mysql/bin/mysql
或者在文件最后加上:
vi /etc/profile
PATH="/application/mysql/bin/:$PATH"
[root@mysql ~]#. /etc/profile #使之生效
#设置密码,不要在mysql> 下面设置密码,在#后面设置密码
/application/mysql/bin/mysqladmin -u root password 'passwd123'
#重新登录,输入用户名和密码
mysql -u root -p
passwd123
7.数据优化:
select version(); #查看数据库版本
select user(); #查看当前的用户
mysql> show databases; #查看数据库
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| test |
+--------------------+
mysql>drop database test; #安全设置,删除没有用的数据库
最终优化为:
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
+--------------------+
mysql> select user,host from mysql.user; #查询表中的用户
+------+-----------+
| user | host |
+------+-----------+
| root | 127.0.0.1 |
| | localhost |
| root | localhost |
| | weblamp |
| root | weblamp |
+------+-----------+
drop user ""@weblamp; #删除主机名是weblamp,用户名=""。
mysql> drop user ""@localhost;
mysql> drop user "root"@weblamp;
最终优化为:
mysql> select user,host from mysql.user;
+------+-----------+
| user | host |
+------+-----------+
| root | 127.0.0.1 |
| root | localhost |
+------+-----------+
如果删除不了,就使用delete 删除。
delete from mysql.user where(host="weblamp");
最后刷新:
flush privileges;
#如果忘记登录密码,可以使用这个跳过登录密码的输入
/application/mysql/bin/mysqld_safe --skip-grant-table &
#修改密码
mysql>update mysql.user set password=PASSWORD("oldboy123") where host='localhost' and user='root';
flush privileges;
[root@mysql ~]#lsof -i :3306 #查看3306端口现在运行的情况
#查看mysql 的日志
cat /application/mysql/data/oldboy.err
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。