06-mysql部署及其常规使用
1.安装jdk
(1)创建目录:mkdir /usr/java 在这里统一进行有关java的操作
对于jdk没有的去官网下载,找到你要的版本,点击下载然后复制他的链接,
在Linux中wget 链接 就可以下载了,
还可以直接下载在到你的windows系统上载Linux上
rz 上传就好
(2)在/usr/java路径下,tar -zxvf jdkxxx 解压对应的jdk文件,这里要注意一个用户和用户组的问题,解压完成后看一看,
如果不是这个,chown -R root:root jdkxxx 就可以了
(3)配置环境变量
vi /etc/profile :配置全局变量,在这里设置所有用户都可以使用。
在最后加上红色箭头头的俩句话,配置环境变量的原因是java的命令执行,每次只能在jdk的路径下执行,若不配置环境变量,则当你在其他路径运行时,你就得加上他的绝对路径,十分麻烦。
(4)java -version:简单的测试,出现对应的版本的信息,就证明你完成了jdk部署。
2.安装mysql
(1)mkdir /usr/local :创建一个目录,在这个目录下进行。
同上安装jdk一样,你可以直接下载Linux版本的安装包,然后rz上传,
tar xzvf 包名 解压,这里同样要注意用户名和用户组的问题。有问题就chown -R root:root xxx文件。
(2)为数据库包名改名字:
mv xxx包名 新名字
(3)创建MySQL服务的用户和用户组
添加用户组groupadd -g 101 dba:表示创建用户组,-g表示他的gid。dba表示组名
上面那个呢我已经创建过了,所以报了个dba已经存在。
添加用户useradd -u 514 -g dba -G root -d /usr/local/mysql mysqladmin
-u:表示用户的uid为514,-g:表示所属的用户组dba,-G:表示所添加的用户组root,-d:表示当前家目录,mysqladmin:表示的就是创建的用户名。
上面那个也是我创建过了,所以报了个用户已经存在。
在生产环境中给你的肯定不是root用户,不能想到用sudo这是一个在生产中部适合使用的命令,一般你要获取root权限对数据库进行相关的操作,都是找公司的IT添加一个sudo权限。不能犯一些低级错误。
做了上面这些,为什么要创建一个用户和用户组呢?
创建用户是为了管理mysql这个服务,一个用户对应的是一个组建。
创建用户组是因为你的数据库不一定就是一个mysql,有可能你还有其他的,如Oracle、Sybase、Informix、Microsoft SQL Server等。所以你需要创建一个组来管理相应的数据库软件。
(4)为新创建的用户和用户组配置环境变量文件
cp /etc/skel/.* /usr/local/mysql:复制etc/skel下的所有文件到/mysql下面去,多的就是红箭头标记的文件。
(5)编辑 /etc/my.cnf
mysql的启动要找到这个配置文件,他就根据面的路径一个个的找,找到就启动,找不到就启动失败。
vi /etc/my,cnf :光标移动到最前面按dG删除所有内容,然后按i进入编辑模式复制一下文件内容,然后wq保存退出就可以了。
[client]
port = 3306
socket = /usr/local/mysql/data/mysql.sock
[mysqld]
port = 3306
socket = /usr/local/mysql/data/mysql.sock
skip-external-locking
key_buffer_size = 256M
sort_buffer_size = 2M
read_buffer_size = 2M
read_rnd_buffer_size = 4M
query_cache_size= 32M
max_allowed_packet = 16M
myisam_sort_buffer_size=128M
tmp_table_size=32M
table_open_cache = 512
thread_cache_size = 8
wait_timeout = 86400
interactive_timeout = 86400
max_connections = 600
# Try number of CPU's*2 for thread_concurrency
thread_concurrency = 32
#isolation level and default engine
default-storage-engine = INNODB
transaction-isolation = READ-COMMITTED
server-id = 1
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
pid-file = /usr/local/mysql/data/hostname.pid
#open performance schema
log-warnings
sysdate-is-now
binlog_format = MIXED
log_bin_trust_function_creators=1
log-error = /usr/local/mysql/data/hostname.err
log-bin=/usr/local/mysql/arch/mysql-bin
#other logs
#general_log =1
#general_log_file = /usr/local/mysql/data/general_log.err
#slow_query_log=1
#slow_query_log_file=/usr/local/mysql/data/slow_log.err
#for replication slave
#log-slave-updates
#sync_binlog = 1
#for innodb options
innodb_data_home_dir = /usr/local/mysql/data/
innodb_data_file_path = ibdata1:500M:autoextend
innodb_log_group_home_dir = /usr/local/mysql/arch
innodb_log_files_in_group = 2
innodb_log_file_size = 200M
innodb_buffer_pool_size = 2048M #如果电脑本身的内存不够大可以改成1024
innodb_additional_mem_pool_size = 50M
innodb_log_buffer_size = 16M
innodb_lock_wait_timeout = 100
#innodb_thread_concurrency = 0
innodb_flush_log_at_trx_commit = 1
innodb_locks_unsafe_for_binlog=1
#innodb io features: add for mysql5.5.8
performance_schema
innodb_read_io_threads=4
innodb-write-io-threads=4
innodb-io-capacity=200
#purge threads change default(0) to 1 for purge
innodb_purge_threads=1
innodb_use_native_aio=on
#case-sensitive file names and separate tablespace
innodb_file_per_table = 1
lower_case_table_names=1
[mysqldump]
quick
max_allowed_packet = 16M
[mysql]
no-auto-rehash
[mysqlhotcopy]
interactive-timeout
[myisamchk]
key_buffer_size = 256M
sort_buffer_size = 256M
read_buffer = 2M
write_buffer = 2M
到这里呢他的基本配置文件就完成了
3.修改权限和用户组
(1)修改/etc/my,cng目录的用户和用户组
chown 用户:用户组 文件目录,下面有个报错,那个是因为中文冒号的原因,要注意一点。
(2)修改/etc/my,cng文件的权限
chmod 文件的数字权限组成 目录,这里得回顾前面的权限r读:4,w写:2,x执行:1
(3)修改安装目录的用户和用户组
(4)修改安装目录的权限
chmod -R 755 目录,因为原来的权限和我们修改的权限一样所以我们这没有区别
4.尝试第一次安装
(1)进入mysqladmin用户,然后创建arch归档目录。
(2)尝试安装第一次
scripts/mysql_install_db --user=mysqladmin --basedir=/usr/local/mysql --datadir=/usr/local/mysql/data
注释:首先在执行scipts下的mysql安装脚本,用户是mysqladmin,基本目录是/usr/local/mysql
数据目录是/usr/local/mysql/data
没报错呢,就表示安装成功了,如果出现下面这个错误呢
yum -y install libaio:yum源安装以一个libaio包。再次安装就可以了
5.安装完成之后设置开机不启动
(1)这个设置得再root用户进行
cd /usr/local/mysql
cp support-files/mysql.server /etc/rc.d/init.d/mysql
#将服务文件拷贝到init.d下,并重命名为mysql
chmod +x /etc/rc.d/init.d/mysql
#赋予可执行权限
chkconfig --del mysql
#删除服务
chkconfig --add mysql#添加服务
chkconfig --level 345 mysql on#设置开机不启动
(2)删除my.cnf和执行bin/mysqld_safe &
不知道为什么要执行者俩句,bin那条令是啥意思都不知道。
(3)查看是否成功了 ps -ef | grep mysql
出现下图就说明成功了
(4)在root下查看端口号
下面红色箭头那个就表示任意ip都可以运行,没问题了这mysql就。
(5)运行第一mysql
mysql:进入运行界面。show database:显示当前的数据库。
(6)设置开机自动启动mysql
vi /etc/rc.local:i进入编辑模式,加入下面红色这句话,就ok了
6.总结一下
(1)运行mysql遇到的一个问题
-bash: mysql: command not found
mysql运行呢就是根据上面那个配置文件去找mysql,找不到,因为/usr/local/bin目录下缺失mysql 导致,只需要一下方法建立软链接,即可以解决:把mysql安装目录,比如MYSQLPATH/bin/mysql,映射到/usr/local/bin目录下:
# cd /usr/local/bin
# ln -fs /MYSQLPATH/bin/mysql mysql
(2)还是上面那个问题
首先得知道mysql命令或mysqladmin命令的完整路径,比如mysql的路径是:/usr/local/mysql/bin/mysql,我们则可以这样执行命令:
# ln -s /usr/local/mysql/bin/mysql /usr/bin
也可以解决命令找不到的问题。
(3)注意用户之间的切换,那个是root是执行的,那个是在mysqladmin执行的。