在linux配置mysql,在linux 中安装现配置mysql

用有年头了,写篇简单的文档来记录下自己的常用安装和配置过程。本文旨在介绍如何在Linux系统上安装MySQL数据库服务器,以及基本配置。本文仅仅提供一份快速指南,请访问MySQL官方网站获取详细安装、配置指南。

OS: Red Hat Enterprise Linux AS 3.0

MySQL: 5.0.22

源码tarball放置在/home/huangys ,安装目的地是/usr/loacl/mysql

1.准备

创建一个用户来运行MySQL守护进程。# groupadd mysqlg# useradd –g mysqlg –M –s /sbin/nologin mysqld

解包# cd /home/huangys# tar zxvf mysql-5.0.22.tar.gz

2.配置编译选项

# cd mysql-5.0.22# ./configure --prefix=/usr/loacl/mysql localstatedir=/usr/local/mysql/data--with-extra-charsets=all --with-charset=utf8 --with-tcp-port=3306 --with-unix-socket-path=/tmp/mysql.sock --with-mysqld-user=mysqld --with-federated-storage-engine

选项说明:--prefix=/usr/loacl/mysql将MySQL安装到目录/usr/loacl/mysql下

localstatedir=/usr/local/mysql/data指定数据存放目录以替换var目录--with-charset=utf8指定缺省字符集为utf8--with-extra-charsets=all将MySQL所有支持的字符集编译进来--with-tcp-port=3306指定此MySQL实例将监听TCP 3306端口--with-federated-storage-engine支持federated存储引擎

通过指令configure --help可以查看全部选项信息。

----prefix必须指定

--with-unix-socket-path最好指定自己的路径

3.编译、安装

# make# make install

在MySQL提供的支持文件中复制一个合适的配置档到MySQL数据目录中,并命名为my.cnf# cp support-files/my-medium.cnf /etc/my.cnf

4.初始化

cd /usr/local/mysql

# bin/mysql_install_db –user=mysql这将会在安装目录/usr/loacl/mysql下创建MySQL的数据目录data (var)

5.配置

1.cd /usr/loca/mysql

chown -R root . #设定root能访问/usr/local/mysql

chown -R mysql var #设定mysql用户能访问/usr/local/mysql/var ,里面存的是mysql的数据库文件

chown -R mysql var/. #设定mysql用户能访问/usr/local/mysql/var下的所有文件

chown -R mysql var/mysql/. #设定mysql用户能访问/usr/local/mysql/var/mysql下的所有文件

chgrp -R mysql . #设定mysql组能够访问/usr/local/mysql

主要修改点在[mysqld]配置块中:

指定允许的最大包尺寸:max_allowed_packet = 2M

指定最大连接数(默认为100):max_connections = 1000

query_cache_limit = 2M

tmp_table_size = 1024M

thread_cache = 20

thread_concurrency = 8

log-bin = mysql-bin ##(设置二进制日志的名字,并将其放置在/usr/local/mysql/data下)

log_slow_queries = slow_query.log ##(设置慢查询日志并命名为:slow_query.log放在/usr/local/mysql/data下)

long_query_time = 1##(设置慢查询日志的时间为1秒)

server-id= 1

relay-log = data01-relay-bin

指定服务器端字符集:character_set_server = utf8

在[mysql]中设置

Default-character-set=rtf8 ##可以处理中文字符!

忽略Berkeley DB:

skip-bdb(同理,若也打算忽略InnoDB,则使用skip-innodb)

配置InnoDB:

innodb_data_home_dir = /usr/loacl/mysql2/var/

innodb_data_file_path = ibdata1:500M;ibdata2:50M:autoextend

innodb_log_group_home_dir = /usr/loacl/mysql2/var/

innodb_log_arch_dir = /usr/loacl/mysql2/var/

innodb_buffer_pool_size = 384M

innodb_additional_mem_pool_size = 20M

innodb_log_file_size = 100M

innodb_log_buffer_size = 8M

innodb_flush_log_at_trx_commit = 1

innodb_lock_wait_timeout = 50

完成编辑此配置档后,记得顺便修改一下MySQL数据目录的ownership:# cd /usr/loacl/mysql

Chown –R root .# chown –R mysqld.mysqlg data

Chgrp –R mysql .

6.控制脚本

MySQL提供了一个脚本文件,可以用来方便地控制MySQL守护进程。# cp support-files/mysql.server /usr/loacl/mysql/bin/mysqlctl# cd /usr/loacl/mysql/bin# chmod 755 mysqlctl

启动:# /usr/loacl/mysql/bin/mysqlctl start停止:# /usr/loacl/mysql/bin/mysql stop

注意,若启用了InnoDB存储引擎,那么第一次启动MySQL服务器时,速度会比较慢,因为需要分配在配置档中定义的空间、生成相应的数据文件、日志文件等。

7. Security

安全问题在哪里都是很重要的,特别是对于初安装的新系统而言,尤其如此。

MySQL往往携带有四个缺省用户,分别是'root'@'localhost', 'root'@'%', ''@'localhost', ''@'%'.除了第一个本地root,其他三个(任意来源的root,以及两个匿名用户)都应该删除:

mysql> use mysqlmysql> delete from user where user='';mysql> delete from user where user='root' and host='%';

这唯一保留的用户root@localhost的密码默认为空,当然不好。为它加上密码:

# /usr/loacl/mysql/bin/mysqladmin -uroot -hlocalhost -P3306 -p password my_pass

指令中的my_pass就是设定的密码,注意,不要用单引号把它括起来。

8. Appendix

[root@tbox2 root]# cat /etc/redhat-releaseRed Hat Enterprise Linux AS release 3 (Taroon)

[root@tbox2 root]# uname -a

Linux tbox2.test.net 2.4.21-4.ELsmp #1 SMP Fri Oct 3 17:52:56 EDT 2003 i686 i686 i386 GNU/Linux

[root@tbox2 root]# rpm -qa | grep gcc

libgcc-ssa-3.5ssa-0.20030801.41

gcc-g77-3.2.3-20

gcc-ssa-3.5ssa-0.20030801.41

gcc-objc-ssa-3.5ssa-0.20030801.41

compat-gcc-c++-7.3-2.96.122

compat-gcc-7.3-2.96.122

gcc-c++-3.2.3-20

gcc-gnat-3.2.3-20

gcc-objc-3.2.3-20

gcc-c++-ssa-3.5ssa-0.20030801.41

gcc-java-ssa-3.5ssa-0.20030801.41

libgcc-3.2.3-20

gcc-3.2.3-20

gcc-java-3.2.3-20

gcc-g77-ssa-3.5ssa-0.20030801.41

[root@tbox2 root]# rpm -qa | grep glibc

glibc-headers-2.3.2-95.3

glibc-common-2.3.2-95.3

glibc-utils-2.3.2-95.3

glibc-kernheaders-2.4-8.34

glibc-devel-2.3.2-95.3

compat-glibc-7.x-2.2.4.32.5

glibc-2.3.2-95.3

glibc-profile-2.3.2-95.3

[root@tbox2 root]# /usr/loacl/mysql/bin/mysql --version

/usr/loacl/mysql/bin/mysql  Ver 14.12 Distrib 5.0.22, for pc-linux-gnu (i686) using  EditLine wrapper

END.

./configure --prefix=/home/jack/mysql/ --with-unix-socket-path=/home/jack/mysql/mysql.sockmakemake installcp /usr/local/share/mysql/my-large.cnf   /home/jack/mysql/my.cnfcd /home/jack/mysqlbin/mysql_install_dbbin/mysqld_safe &

**********************************************************************

**********************************************************************

**********************************************************************

手工安装mysql

1.改路径参数mysqld_safe

mysqld_multi

mysqlacctest2.igobb.comess

mysql_upgrade_shell

mysql_install_db

mysqlbug

mysql_fix_privilege_tables

mysql_config  (还要改mysql.sock)

msql2mysql

mysql_fix_privilege_tables

mysql_install_db

mysqld_safe

把这些文件里的路径,例如:"/export/nfs10/builder/aimc3rd/mysql5/"改为实际的路径

使用命令:

:%s///export//nfs10//builder//aimc3rd//mysql5///usr/loacl//aimm//aimm//mysql5

2.复制~/mysql5/share/mysql/my-medium.cnf ~/mysql5/.my.cnf然后修改参数[client]

#password       = your_password

port            = 3336

socket          = /usr/loacl/aimm/aimm/mysql5/mysql.sock

default-character-set = utf8

3.初始化数据库,执行脚本mysql_install_db

4.启动数据库./bin/mysqld_safe --defaults-file=./.my.cnf

5.连接数据库,新建用户aimm/aimm

/mysql -h127.0.0.1 -P3336 -uroot -p

grant all on *.* to aimm@"%" identified by "aimm"

---改密码:mysql> update user set Password=Password('aimc1234') where User='aiuum';

---mysql> FLUSH PRIVILEGES;

安装Mysql-5.0.67

tar vxzf mysql-5.0.67.tar.gz

cd mysql-5.0.67

./configure --prefix=/usr/local/mysql --sysconfdir=/etc//参数指定软件安装位置与配置文件位置

make

make install     //安装完成

cp support-files/my-medium.cnf  /etc/my.cnf//copy一个缺省的配置文件

useradd mysql//创建mysql用户

/usr/local/mysql/bin/mysql_install_db  --user=mysql //初始化数据库

cd /usr/local/mysql

chown -R root

chown -R mysql var

chgrp -R mysql .

/usr/local/mysql/bin/mysqld_safe &//启动mysql

/usr/local/mysql/bin/mysqladmin –u root –h localhost.localdomain password ‘password’

/usr/local/mysql/bin/mysqladmin –u root password ‘password’

//设置root的密码

/usr/local/mysql/bin/mysql –u root –p

show databases;//查询数据库列表

use mysql//指定当前数据库为mysql

cp support-files/mysql.server /etc/rc.d/init.d/mysqld

chkconfig mysqld on

chkconfig –list mysqld

service mysqld restart

//copy一个启动脚本,做开机启动

数据导出工具:mysqldump -h -u -p --opt database >; database.sql数据导入工具:mysql-u username -p < database.sql

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值