设为首页 收藏本站
查看: 542|回复: 0

[经验分享] mysql系列之三MySQL编译安装

[复制链接]
累计签到:1 天
连续签到:1 天
发表于 2016-9-23 09:14:39 | 显示全部楼层 |阅读模式
mysql 安装:
专用软件包管理器包
    deb,rpm
    rpm:
         RHEL(Oracle Linux),CentOS
         SUSE
    通用二进制格式包
         gcc:x86,x64
    源代码
    5.5,5.6
       cmake编译
选择GA版本

mysql-client提供客户端
mysql-devel开发组建
mysql-server服务器端
mysql-shared共享库
mysql-shared-compat兼容库
mysql-test 测试组件

最后一次读取的配置优先级最高
/etc/my.cnf
/etc/mysql/my.conf
$MYSQL_HOME/my.conf
/path/to/file when defaults-extra-file=/path/to/file is specified
~/.my.conf

----------------------
用户密码修改
1.mysqladmin -u USERNAME -h HOSTNAME password 'NEW_PASSWORD'  -p
2.mysql>set password for 'USERNAME'@'HOST=PASSWORD('new_pass');
3.mysql>update mysql.user set  password=password('NEW_PASS') where condition;

一安装编译mysql-5.5
1.使用cmake编译mysql-5.5
cmake 指定编译选项的方式不同于make,其实现方式对比如下:
./configure                 =            cmake .
./configure  --help         =            cmake . LH   或者 ccmake .

指定安装文件的安装路径时常用的选项:
-DCMAKE_INSTALL_PREFIX=/usr/local/mysql
-DMYSQL_DATADIR=/data/mysql
-DSYSCONFDIR=/etc

默认编译的存储引擎包括:csv,myisam,myisammrg和heap:若要安装其他存储引擎,可以使用类似如下编译选项:

-DWITH_INNOBASE_STOAGE_ENGINE=1
-DWITH_ARCHIVE_STORAGE_ENGINE=1
_DWITH_BLACKHOLE_STORAGE_ENGINE=1
-DWITH_FEDERATED_STORAGE_ENGINE=1

若要明确指定不编译某存储引擎,可以使用类似如下的选项:
-DWITH_<ENGiNE>_STORAGE_ENGINE=1
比如:
-DWITH_EXAMPLE_STORAGE_ENGINE=1
-DWITH_FEDERATED_STORAGE_ENGINE=1
-DWITH_PARTITION_STORAGE_ENGINE=1

如若要编译进其他功能,如SSL等,则可使用类似如下选项来实现编译时使用某库或不使用某库:
-DWITHOUT_<ENGINE>_STORAGE_ENGINE=1
比如:
-DWITHOUT_EXAMPLE_STORAGE_ENGINE=1
-DWITHOUT_FEDERATED_STORAGE_ENGINE=1
-DWITHOUT_PARTITION_STORAGE_ENGINE=1

如若要编译进其他功能,如ssl等,则可以使用类似如下选秀爱那个来实现编译时使用某库或不使用某库:
-DWITH_READLIE=1
-DWITH_SSL=system
-DWITH_ZLIB=system
-DWITH_LIBWRAP=0

其他常用选项:
_DMYSQL_TCP_PORT=3306
-DMYSQL_UNIX_ADDR=/tmp/mysql.sock
-DENABLED_LOcAL_INFILE=1
-DEXTRA_CHARSETS=all
-DDEFAULT_CHARSET=utf8
-DDEFAULT_COLLATION=utf8_general_ci
-DWITH_DEBUG=0
-DENABLE_PROFILING=1

如果想清理此前的编译所生成的文件,则需要使用如下命令:
make clean
rm  CMakeCache.txt

2.编译安装
groupadd -r mysql
useradd -g mysql -r -d /data/mydata mysql
tar xf mysql-5.6
cd mysql-5.6
cmake . -DCMAKE_INSALL_PREFIX=/usr/local/mysql \
       -DMYSQL_DATADIR=/mydata/data \
       -DSYSCONFDIR=/etc \
       -DWITH_INNOBASE_STORAGE_ENGINE=1 \
       -DWITH_ARCHIVE_STORAGE_ENGINE=1 \
       -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
       -DWITH_READLINE=1 \
       -DWITH_SSL=system \
       -DWITH_ZLIB=system \
       -DWITH_LIBWRAP=0 \
       -DMYSQL_UNIX_ADDR=/tmp/mysql.sock \
make
make install

安装:
[iyunv@localhost ~]# yum -y groupinstall 'Development tools'
[iyunv@localhost ~]# hwclock -s
[iyunv@localhost ~]# tar xf mysql-5.5.28.tar.gz
[iyunv@localhost cmake-2.8.8]# ./configure && make && make install

[iyunv@localhost ~]# fdisk /dev/sdb 新建一个分区,并调整分区类型为8e
/dev/sdb1               1        2610    20964793+  8e  Linux LVM
[iyunv@localhost ~]# partprobe /dev/sdb让系统重读分区 或者重启
[iyunv@localhost ~]# pvcreate /dev/sdb1
[iyunv@localhost ~]# vgcreate myvg /dev/sdb1
[iyunv@localhost ~]# lvcreate -L 10G -n mydata myvg
[iyunv@localhost ~]# lvs
  LV     VG   Attr       LSize  Pool Origin Data%  Move Log Cpy%Sync Convert
  mydata myvg -wi-a----- 10.00g  
[iyunv@localhost ~]# mke2fs -j /dev/myvg/mydata
[iyunv@localhost ~]# mkdir /mydata
[iyunv@localhost ~]# vim /etc/fstab
/dev/myvg/mydata        /mydata                 ext3    defaults        0 0
[iyunv@localhost ~]# mkdir /mydata/data
[iyunv@localhost ~]# groupadd -r  mysql
[iyunv@localhost ~]# useradd -r  -g mysql -s /sbin/nologin mysql      
[iyunv@localhost ~]# chown  -R mysql.mysql /mydata/data/
[iyunv@localhost mysql-5.5.28]# yum install –y openssl openssl-devel ncurses ncurses-devel
[iyunv@localhost mysql-5.5.28]# cmake . -DCMAKE_INSALL_PREFIX=/usr/local/mysql \
>        -DMYSQL_DATADIR=/mydata/data \
>        -DSYSCONFDIR=/etc \
>        -DWITH_INNOBASE_STORAGE_ENGINE=1 \
>        -DWITH_ARCHIVE_STORAGE_ENGINE=1 \
>        -DWITH_BLACKHOLE_STORAGE_ENGINE=1 \
>        -DWITH_READLINE=1 \
>        -DWITH_SSL=system \
>        -DWITH_ZLIB=system \
>        -DWITH_LIBWRAP=0 \
>        -DMYSQL_UNIX_ADDR=/tmp/mysql.sock \
[iyunv@localhost mysql-5.5.28]# make && make install
[iyunv@localhost local]# chown -R mysql.mysql   mysql
[iyunv@localhost local]# chown -R mysql.mysql /mydata/
[iyunv@localhost mysql]# ./scripts/mysql_install_db --user=mysql --datadir=/mydata/data 初始化数据库
[iyunv@localhost mysql]# cp support-files/my-large.cnf /etc/my.cnf 复制配置文件
[iyunv@localhost mysql]# cp support-files/mysql.server  /etc/init.d/mysqld 复制启动脚本
[iyunv@localhost mysql]# chkconfig --add mysqld
[iyunv@localhost mysql]# chkconfig mysqld on
[iyunv@localhost mysql]# vim /etc/my.cnf
# Try number of CPU's*2 for thread_concurrency
thread_concurrency = 8
datadir = /mydata/data

[iyunv@localhost mysql]# vim /etc/profile.d/mysql.sh 添加环境变量
export PATH=$PATH:/usr/local/mysql/bin
[iyunv@localhost mysql]# .  /etc/profile.d/mysql.sh
[iyunv@localhost mysql]# echo $PATH
/usr/lib64/qt-3.3/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin:/usr/local/mysql/bin

[iyunv@localhost mysql]#  mysql
mysql> show databases; 可以查看数据库
mysql> show engines; 查看存储引擎
给mysql管理用户添加密码。  

先删除默认用户:
mysql> show databases;
mysql> USE mysql;
mysql> show tables;
mysql> select user,host,password  from user;
+------+-----------------------+----------+
| user | host                  | password |
+------+-----------------------+----------+
| root | localhost             |          |
| root | localhost.localdomain |          |
| root | 127.0.0.1             |          |
| root | ::1                   |ipv6的帐号|
|      | localhost.localdomain |   删除   |
+------+-----------------------+----------+
5 rows in set (0.00 sec)
mysql> DROP USER ''@localhost;
Query OK, 0 rows affected (0.00 sec)

mysql> drop user ''@localhost.localdomain;
Query OK, 0 rows affected (0.00 sec)

mysql> drop user 'root'@'::1';
Query OK, 0 rows affected (0.00 sec)



mysql> update user set password=PASSWORD('root') where user='root';
Query OK, 1 row affected (0.02 sec)
Rows matched: 1  Changed: 1  Warnings: 0

mysql> select user,host,password from user;
+------+---------------------------+-------------------------------------------+
| user | host                      | password                                  |
+------+---------------------------+-------------------------------------------+
| root | localhost.localhostdomain | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B |
| root | 127.0.0.1                 | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B |
| root | localhost                 | *81F5E21E35407D884A6CD4A731AEBFB6AF209E1B |
+------+---------------------------+-------------------------------------------+
1 row in set (0.00 sec)

mysql>





mysql ->mysqld
Unix:
     mysql->mysql.sock->mysqld
Windows:
     mysql->memory(pipe)->mysqld
不在同一主机上,基于TCP/IP协议
mysql
    -uroot -h 192.168.1.50   TCP/IP协议

客户端工具:
mysql
mysqldump备份工具
mysqladmin管理工具
mysqlcheck检查数据库完整性工具

[client]
-u  USERNAME
-h  HOST
-p 'PASSWS'
--protocol {tcp|socket|pipe|memory}   
--port PORT


非客户端工具:
myisamchk
myisampack

myisam:
每表三个文件
.frm:表结构
.MYD:表数据
.MYI:表索引

InnoDB
  所有表共享一个表空间文件;
  建议每个独立的表空间文件;
   .frm:表结构
   .ibd表空间(表数据和表索引)

mysqlimport
mysql> show variables like '%innodb%'; 查看innodb变量
vim /etc/my.conf
innodb_file_per_table = 1
service mysqld restart

mysql> create database mydb;
mysql> create table testdb (
    -> id INT NOTNULL,
    -> name CHAR(30);

/mydata/data/mysql/mydb/
db.opt  test.db.frm  test.ibd



运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-276246-1-1.html 上篇帖子: MySQL字段类型详解[分享] 下篇帖子: [转]MySQL字段类型详解 mysql
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表